Function at 0x4b2980
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x84
mov eax, dword [ecx + 0x16cc]
movzx edx, byte [ecx + 0x41]
mov dword [esp + 0x24], eax
mov eax, edx
xor eax, 1
mov dword [esp + 0x30], ecx
imul eax, eax, 0xb44
push ebx
push ebp
lea ebp, [ecx + 0x44]
push esi
add eax, 0x44
lea ebx, [ecx + 0x16d0]
add eax, ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], eax
imul eax, edx, 0xb44
push edi
add ebp, eax
cmp byte [ecx + 0x40], 2
mov dword [esp + 0x50], ebp
jb 0x4b2dfe
mov edi, dword [esp + 0xa0]
lea ecx, [esp + 0x64]
sub edi, dword [esp + 0x9c]
lea edx, [esp + 0x68]
sar edi, 0xc
mov eax, 4
cmp edi, eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
cmova edi, eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], edi
lea esi, [ebx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x3c], esi
cmp eax, dword [edx]
je 0x4b2a3a
cmp al, byte [edx]
jne 0x4b2a3e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b2a3e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b2a3e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b2a3e
xor ecx, ecx
jmp 0x4b2a43
sbb ecx, ecx
or ecx, 1
mov edx, esi
mov dword [esp + 0x30], ecx
sub edx, ebx
mov dword [esp + 0x2c], 0
mov eax, edx
mov dword [esp + 0x58], edx
sar eax, 2
mov dword [esp + 0x1c], eax
mov eax, 0x5bb5c0
lea edi, [edx + 3]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], 4
test ecx, ecx
jne 0x4b2a9c
mov eax, dword [esp + 0x1c]
shl eax, 2
push eax
push ecx
push ebx
call fcn.00434d70
mov edx, dword [esp + 0x6c]
add esp, 0xc
jmp 0x4b2ac5
add edx, 3
mov dword [esp + 0x4c], 0
mov ecx, edx
mov dword [esp + 0x20], edx
shr ecx, 2
cmp ebx, esi
cmova ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x4b2acd
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], edx
test edi, edi
je 0x4b2c02
mov ebp, edx
mov dword [esp + 0x14], eax
xor ecx, ecx
shr ebp, 2
cmp ebx, esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x44], edi
cmova ebp, ecx
mov dword [esp + 0x24], ebp
movss xmm3, dword [eax]
xor edi, edi
add ecx, dword [esp + 0x9c]
movaps xmm2, xmm3
shufps xmm2, xmm2, 0
mov edx, ebx
mov esi, ebx
test ebp, ebp
je 0x4b2bae
cmp ebp, 0x10
jb 0x4b2bae
mov eax, dword [esp + 0x20]
xor ebp, ebp
and eax, 0xfffffffc
cmp ebx, dword [esp + 0x3c]
cmova eax, ebp
sub eax, 4
lea ebp, [eax + ebx]
cmp ebx, ebp
jbe 0x4b2baa
add eax, ecx
cmp ebx, eax
ja 0x4b2b3e
cmp ebp, ecx
jae 0x4b2baa
mov ebp, dword [esp + 0x24]
mov eax, ebp
and eax, 0xfffffff0
movups xmm0, xmmword [ecx]
add edi, 0x10
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmmword [esi], xmm1
movups xmm0, xmmword [ecx + 0x10]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x10]
addps xmm1, xmm0
movups xmmword [esi + 0x10], xmm1
movups xmm0, xmmword [ecx + 0x20]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x20]
addps xmm1, xmm0
movups xmmword [esi + 0x20], xmm1
movups xmm0, xmmword [ecx + 0x30]
add ecx, 0x40
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x30]
add edx, 0x40
addps xmm1, xmm0
movups xmmword [esi + 0x30], xmm1
add esi, 0x40
cmp edi, eax
jne 0x4b2b47
jmp 0x4b2bae
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
cmp edx, eax
je 0x4b2bda
sub esi, ecx
nop dword [eax + eax]
movaps xmm0, xmm3
mulss xmm0, dword [ecx]
addss xmm0, dword [edx]
add edx, 4
movss dword [ecx + esi], xmm0
add ecx, 4
cmp edx, eax
jne 0x4b2bc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
add eax, 4
add ecx, 0x1000
mov dword [esp + 0x14], eax
sub dword [esp + 0x44], 1
mov dword [esp + 0x54], ecx
jne 0x4b2af1
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ebx
lea ecx, [ebx + eax*4]
push ecx
lea eax, [ebp + 0x1c]
mov ecx, ebp
push ebx
push eax
call fcn.004b9c40
mov eax, dword [esp + 0x98]
xor edi, edi
mov ebp, dword [esp + 0x34]
test eax, eax
je 0x4b2c7f
nop dword [eax + eax]
mov ecx, dword [esp + 0x50]
sub eax, edi
mov edx, dword [ecx + 0xe0]
and ebp, edx
sub edx, ebp
mov esi, ebp
inc edx
cmp edx, eax
cmova edx, eax
shl esi, 4
nop dword [eax + eax]
mov ecx, dword [ecx + 0xe4]
inc ebp
mov eax, dword [ebx + edi*4]
add ecx, esi
mov ebx, dword [esp + 0x2c]
add esi, 0x10
inc edi
mov dword [ebx + ecx], eax
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x50]
sub edx, 1
jne 0x4b2c50
mov eax, dword [esp + 0x98]
cmp edi, eax
jb 0x4b2c30
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x18]
add eax, 0x10
add dword [esp + 0x2c], 4
add ebp, 0x38
sub dword [esp + 0x28], 1
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], ebp
jne 0x4b2a80
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 0x40], 2
jne 0x4b2def
lea ecx, [esp + 0x6c]
mov dword [esp + 0x6c], 0
mov eax, dword [ecx]
lea edx, [esp + 0x70]
mov dword [esp + 0x70], 0
cmp eax, dword [edx]
je 0x4b2cfd
cmp al, byte [edx]
jne 0x4b2d01
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b2d01
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b2d01
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b2d01
xor eax, eax
jmp 0x4b2d06
sbb eax, eax
or eax, 1
mov edx, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x30], edx
lea ebp, [edx + 0xe0]
mov dword [esp + 0x18], ebp
mov ebp, edx
test eax, eax
jne 0x4b2d3f
mov eax, dword [esp + 0x1c]
shl eax, 2
push eax
push 0
push ebx
call fcn.00434d70
add esp, 0xc
jmp 0x4b2d57
mov ecx, dword [esp + 0x20]
xor eax, eax
shr ecx, 2
cmp ebx, dword [esp + 0x3c]
cmova ecx, eax
test ecx, ecx
je 0x4b2d57
mov edi, ebx
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x1c]
lea eax, [ebp + 0x1c]
push ebx
lea ecx, [ebx + edx*4]
push ecx
push ebx
push eax
mov ecx, ebp
call fcn.004b9c40
mov eax, dword [esp + 0x98]
xor edi, edi
mov ebp, dword [esp + 0x34]
test eax, eax
je 0x4b2dc3
nop dword [eax]
mov ecx, dword [esp + 0x18]
sub eax, edi
mov edx, dword [ecx]
and ebp, edx
sub edx, ebp
mov esi, ebp
inc edx
cmp edx, eax
cmova edx, eax
shl esi, 4
mov ecx, dword [ecx + 4]
inc ebp
mov eax, dword [ebx + edi*4]
add ecx, esi
mov ebx, dword [esp + 0x10]
add esi, 0x10
inc edi
mov dword [ebx + ecx], eax
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
sub edx, 1
jne 0x4b2d97
mov eax, dword [esp + 0x98]
cmp edi, eax
jb 0x4b2d80
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x30]
add eax, 4
add ebp, 0x38
mov dword [esp + 0x10], eax
cmp eax, 0x10
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
jb 0x4b2d26
mov ecx, dword [esp + 0x40]
jmp 0x4b33fd
mov ebp, dword [esp + 0x48]
add ebp, 0xe0
jmp 0x4b3401
mov eax, dword [esp + 0xa0]
lea edx, [esp + 0x78]
sub eax, dword [esp + 0x9c]
mov ecx, 4
sar eax, 0xc
cmp eax, ecx
movss xmm4, dword [0x870be8]
movaps xmm5, xmm4
mov dword [esp + 0x74], 0
cmova eax, ecx
mov dword [esp + 0x78], 0
mov dword [esp + 0x54], eax
lea ecx, [esp + 0x74]
mov eax, dword [esp + 0x98]
movd xmm0, eax
lea ebp, [ebx + eax*4]
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [esp + 0x20], ebp
addsd xmm0, qword [eax*8 + 0x50f650]
mov eax, dword [ecx]
cvtpd2ps xmm0, xmm0
divss xmm5, xmm0
movss dword [esp + 0x14], xmm5
cmp eax, dword [edx]
je 0x4b2e92
cmp al, byte [edx]
jne 0x4b2e96
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b2e96
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b2e96
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b2e96
xor ecx, ecx
jmp 0x4b2e9b
sbb ecx, ecx
or ecx, 1
mov esi, dword [esp + 0x50]
mov edx, ebp
sub edx, ebx
mov dword [esp + 0x4c], ecx
mov eax, edx
mov dword [esp + 0x58], edx
sar eax, 2
mov dword [esp + 0x3c], eax
mov eax, 0x5bb5c0
mov dword [esp + 0x24], 0
lea edi, [edx + 3]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 4
test ecx, ecx
jne 0x4b2efc
mov eax, dword [esp + 0x3c]
shl eax, 2
push eax
push ecx
push ebx
call fcn.00434d70
movss xmm4, dword [0x870be8]
add esp, 0xc
movss xmm5, dword [esp + 0x14]
mov edx, edi
jmp 0x4b2f19
add edx, 3
xor edi, edi
mov ecx, edx
mov dword [esp + 0x38], edx
shr ecx, 2
cmp ebx, ebp
cmova ecx, edi
test ecx, ecx
je 0x4b2f21
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], edx
cmp dword [esp + 0x54], 0
jbe 0x4b3063
mov edi, edx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x54]
xor ecx, ecx
shr edi, 2
cmp ebx, ebp
mov dword [esp + 0x28], ecx
cmova edi, ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], edi
nop dword [eax]
add ecx, dword [esp + 0x9c]
xor ebp, ebp
movss xmm3, dword [eax]
mov edx, ebx
mov esi, ebx
test edi, edi
je 0x4b3017
cmp edi, 0x10
jb 0x4b3017
mov eax, dword [esp + 0x38]
xor edi, edi
and eax, 0xfffffffc
cmp ebx, dword [esp + 0x20]
cmova eax, edi
sub eax, 4
lea edi, [eax + ebx]
cmp ebx, edi
jbe 0x4b3013
add eax, ecx
cmp ebx, eax
ja 0x4b2f9a
cmp edi, ecx
jae 0x4b3013
mov edi, dword [esp + 0x10]
movaps xmm2, xmm3
mov eax, edi
shufps xmm2, xmm2, 0
and eax, 0xfffffff0
nop word [eax + eax]
movups xmm0, xmmword [ecx]
add ebp, 0x10
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmmword [esi], xmm1
movups xmm0, xmmword [ecx + 0x10]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x10]
addps xmm1, xmm0
movups xmmword [esi + 0x10], xmm1
movups xmm0, xmmword [ecx + 0x20]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x20]
addps xmm1, xmm0
movups xmmword [esi + 0x20], xmm1
movups xmm0, xmmword [ecx + 0x30]
add ecx, 0x40
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x30]
add edx, 0x40
addps xmm1, xmm0
movups xmmword [esi + 0x30], xmm1
add esi, 0x40
cmp ebp, eax
jne 0x4b2fb0
jmp 0x4b3017
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
cmp edx, ebp
je 0x4b303b
sub esi, ecx
movaps xmm0, xmm3
mulss xmm0, dword [ecx]
addss xmm0, dword [edx]
add edx, 4
movss dword [ecx + esi], xmm0
add ecx, 4
cmp edx, ebp
jne 0x4b3021
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
add eax, 4
add ecx, 0x1000
mov dword [esp + 0x30], eax
sub dword [esp + 0x44], 1
mov dword [esp + 0x28], ecx
jne 0x4b2f50
mov esi, dword [esp + 0x2c]
xorps xmm1, xmm1
mov eax, ebx
cmp ebx, ebp
je 0x4b308a
nop dword [eax]
addss xmm1, xmm4
movaps xmm0, xmm1
mulss xmm0, xmm5
mulss xmm0, dword [eax]
movss dword [eax], xmm0
add eax, 4
cmp eax, ebp
jne 0x4b3070
mov eax, dword [esp + 0x3c]
push ebx
lea ecx, [ebx + eax*4]
push ecx
lea eax, [esi + 0x1c]
mov ecx, esi
push ebx
push eax
call fcn.004b9c40
mov eax, dword [esp + 0x98]
xor edi, edi
mov ebp, dword [esp + 0x34]
test eax, eax
je 0x4b3103
mov ecx, dword [esp + 0x50]
sub eax, edi
mov edx, dword [ecx + 0xe0]
and ebp, edx
sub edx, ebp
mov esi, ebp
inc edx
cmp edx, eax
cmova edx, eax
shl esi, 4
nop dword [eax + eax]
mov ecx, dword [ecx + 0xe4]
inc ebp
mov eax, dword [ebx + edi*4]
add ecx, esi
mov ebx, dword [esp + 0x24]
add esi, 0x10
inc edi
mov dword [ebx + ecx], eax
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x50]
sub edx, 1
jne 0x4b30d0
mov eax, dword [esp + 0x98]
cmp edi, eax
jb 0x4b30b0
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
add esi, 0x38
mov edx, dword [esp + 0x58]
add eax, 0x10
add dword [esp + 0x24], 4
sub dword [esp + 0x18], 1
movss xmm4, dword [0x870be8]
movss xmm5, dword [esp + 0x14]
lea edi, [edx + 3]
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], esi
jne 0x4b2ed4
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], 0
mov eax, dword [ecx]
lea edx, [esp + 0x80]
mov dword [esp + 0x80], 0
cmp eax, dword [edx]
je 0x4b3182
cmp al, byte [edx]
jne 0x4b3186
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b3186
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b3186
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b3186
xor ecx, ecx
jmp 0x4b318b
sbb ecx, ecx
or ecx, 1
mov eax, dword [esp + 0x48]
mov esi, eax
mov edx, dword [esp + 0x38]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x2c], 0
lea ebp, [eax + 0xe0]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ebp
mov eax, 0x5bb5c0
mov ebp, edx
mov dword [esp + 0x24], eax
shr ebp, 2
mov dword [esp + 0x44], 4
mov dword [esp + 0x58], ebp
nop dword [eax]
test ecx, ecx
jne 0x4b31e8
mov eax, dword [esp + 0x3c]
shl eax, 2
push eax
push ecx
push ebx
call fcn.00434d70
add esp, 0xc
jmp 0x4b3204
mov edi, dword [esp + 0x20]
mov ebp, edx
shr ebp, 2
xor edx, edx
cmp ebx, edi
mov ecx, ebp
cmova ecx, edx
test ecx, ecx
je 0x4b320c
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x54]
test edx, edx
je 0x4b3322
xor ecx, ecx
mov dword [esp + 0x4c], eax
cmp ebx, edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edx
cmova ebp, ecx
mov dword [esp + 0x1c], ebp
nop
movss xmm3, dword [eax]
xor edi, edi
add ecx, dword [esp + 0x9c]
movaps xmm2, xmm3
shufps xmm2, xmm2, 0
mov edx, ebx
mov esi, ebx
test ebp, ebp
je 0x4b32d1
cmp ebp, 0x10
jb 0x4b32d1
dec ebp
lea ebp, [ebx + ebp*4]
cmp ebx, ebp
jbe 0x4b32cd
mov eax, dword [esp + 0x1c]
dec eax
lea eax, [ecx + eax*4]
cmp ebx, eax
ja 0x4b326d
cmp ebp, ecx
jae 0x4b32cd
mov ebp, dword [esp + 0x1c]
mov eax, ebp
and eax, 0xfffffff0
movups xmm1, xmmword [ecx]
add edi, 0x10
movups xmm0, xmmword [edx]
mulps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [esi], xmm1
movups xmm1, xmmword [ecx + 0x10]
movups xmm0, xmmword [edx + 0x10]
mulps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [esi + 0x10], xmm1
movups xmm1, xmmword [ecx + 0x20]
movups xmm0, xmmword [edx + 0x20]
mulps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [esi + 0x20], xmm1
movups xmm1, xmmword [ecx + 0x30]
add ecx, 0x40
movups xmm0, xmmword [edx + 0x30]
add edx, 0x40
mulps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [esi + 0x30], xmm1
add esi, 0x40
cmp edi, eax
jne 0x4b3276
jmp 0x4b32d1
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
cmp edx, edi
je 0x4b32fa
sub esi, ecx
nop dword [eax + eax]
movaps xmm0, xmm3
mulss xmm0, dword [ecx]
addss xmm0, dword [edx]
add edx, 4
movss dword [ecx + esi], xmm0
add ecx, 4
cmp edx, edi
jne 0x4b32e0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
add eax, 4
add ecx, 0x1000
mov dword [esp + 0x4c], eax
sub dword [esp + 0x28], 1
mov dword [esp + 0x30], ecx
jne 0x4b3230
mov esi, dword [esp + 0x10]
xorps xmm2, xmm2
mov eax, ebx
cmp ebx, edi
je 0x4b3357
movss xmm3, dword [esp + 0x14]
movss xmm1, dword [0x870be8]
addss xmm2, xmm1
movaps xmm0, xmm2
mulss xmm0, xmm3
subss xmm1, xmm0
mulss xmm1, dword [eax]
movss dword [eax], xmm1
add eax, 4
cmp eax, edi
jne 0x4b3331
mov edx, dword [esp + 0x3c]
lea eax, [esi + 0x1c]
push ebx
lea ecx, [ebx + edx*4]
push ecx
push ebx
push eax
mov ecx, esi
call fcn.004b9c40
mov eax, dword [esp + 0x98]
xor edi, edi
mov ebp, dword [esp + 0x34]
test eax, eax
je 0x4b33c7
nop dword [eax]
mov ecx, dword [esp + 0x18]
sub eax, edi
mov edx, dword [ecx]
and ebp, edx
sub edx, ebp
mov esi, ebp
inc edx
cmp edx, eax
cmova edx, eax
shl esi, 4
mov ecx, dword [ecx + 4]
inc ebp
mov eax, dword [ebx + edi*4]
add ecx, esi
mov ebx, dword [esp + 0x2c]
add esi, 0x10
inc edi
mov dword [ecx + ebx], eax
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
sub edx, 1
jne 0x4b3397
mov eax, dword [esp + 0x98]
cmp edi, eax
jb 0x4b3380
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
add esi, 0x38
add dword [esp + 0x2c], 4
add eax, 0x10
sub dword [esp + 0x44], 1
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], esi
jne 0x4b31d0
mov ecx, dword [esp + 0x40]
mov byte [ecx + 0x40], 2
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x50]
push ecx
mov eax, esp
add ecx, 0x26d0
push ecx
mov dword [eax], ecx
mov eax, esp
push esi
push dword [esp + 0x40]
mov ecx, edi
mov dword [eax], ebx
call fcn.004b3ab0
push ecx
mov ecx, dword [esp + 0x44]
mov eax, esp
add ecx, 0x66d0
push ecx
mov dword [eax], ecx
mov eax, esp
push esi
push dword [esp + 0x40]
mov ecx, edi
mov dword [eax], ebx
call fcn.004b3ea0
push esi
push dword [esp + 0xac]
push dword [esp + 0xac]
push edi
mov edi, dword [esp + 0x50]
mov ecx, edi
call fcn.004b2890
mov al, byte [edi + 0x40]
cmp al, 4
je 0x4b3791
cmp al, 3
jne 0x4b359c
mov ecx, dword [edi + 0x14]
xorps xmm0, xmm0
mov eax, dword [edi + 0x10]
sub ecx, eax
sar ecx, 4
shr ecx, 1
je 0x4b34aa
movzx edi, byte [edi + 0x41]
xor edi, 1
imul edi, ecx
shl ecx, 4
sub ecx, 0xd
shr ecx, 2
shl edi, 4
add edi, eax
mov esi, edi
movups xmmword [edi], xmm0
add edi, 0x10
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x48]
cmp ebx, ebp
je 0x4b34e5
lea ecx, [ebx + 4]
nop word [eax + eax]
mov dword [ecx], 0
lea ecx, [ecx + 0x38]
mov dword [ecx - 0x3c], 0
lea eax, [ecx - 4]
mov dword [ecx - 0x1c], 0
mov dword [ecx - 0x20], 0
cmp eax, ebp
jne 0x4b34c0
lea ecx, [ebx + 0x3a8]
lea edx, [ecx + 0xf0]
cmp ecx, edx
je 0x4b3526
add ecx, 0x24
nop dword [eax + eax]
mov dword [ecx - 0x1c], 0
lea ecx, [ecx + 0x3c]
mov dword [ecx - 0x5c], 0
lea eax, [ecx - 0x24]
mov dword [ecx - 0x3c], 0
mov dword [ecx - 0x40], 0
cmp eax, edx
jne 0x4b3500
lea edx, [ebx + 0xac0]
lea edi, [edx + 0x80]
cmp edx, edi
je 0x4b3576
add edx, 0x40
nop dword [eax]
lea eax, [edx - 0x40]
mov esi, edx
cmp eax, edx
je 0x4b356f
lea ecx, [edx - 0x38]
nop dword [eax]
mov dword [ecx + 4], 0
lea ecx, [ecx + 0x10]
mov dword [ecx - 0x10], 0
lea eax, [ecx - 8]
mov dword [ecx - 0x14], 0
cmp eax, edx
jne 0x4b3550
add edx, 0x40
cmp esi, edi
jne 0x4b3540
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x98]
add eax, dword [esp + 0x34]
mov byte [ecx + 0x40], 4
mov dword [ecx + 0x16cc], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x14
mov ebp, dword [esp + 0x48]
mov eax, dword [ebp + 0xb40]
cmp esi, eax
jb 0x4b3723
lea edx, [ebp + 0x28c]
lea eax, [edx + 0x100]
mov dword [esp + 0x14], eax
cmp edx, eax
je 0x4b365d
lea ecx, [esp + 0x84]
mov dword [esp + 0x84], 0
mov eax, dword [ecx]
lea esi, [esp + 0x88]
mov dword [esp + 0x88], 0
cmp eax, dword [esi]
jne 0x4b35f7
add ecx, 4
xor ebp, ebp
jmp 0x4b361e
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x4b3619
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x4b3619
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x4b3619
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x4b3619
xor ebp, ebp
jmp 0x4b361e
sbb ebp, ebp
or ebp, 1
mov eax, dword [esp + 0x14]
lea esi, [edx + 0x40]
test ebp, ebp
jne 0x4b3637
push 0x40
push ebp
push edx
call fcn.00434d70
add esp, 0xc
jmp 0x4b364b
cmp esi, edx
sbb ecx, ecx
and ecx, 0xfffffff0
add ecx, 0x10
cmp edx, esi
ja 0x4b364f
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
mov edx, esi
cmp edx, eax
jne 0x4b3622
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x48]
lea edx, [ebp + 0x9c0]
lea eax, [edx + 0x100]
mov dword [esp + 0x14], eax
cmp edx, eax
je 0x4b370c
lea ecx, [esp + 0x8c]
mov dword [esp + 0x8c], 0
mov eax, dword [ecx]
lea esi, [esp + 0x90]
mov dword [esp + 0x90], 0
cmp eax, dword [esi]
jne 0x4b36a6
add ecx, 4
xor ebp, ebp
jmp 0x4b36cd
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x4b36c8
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x4b36c8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x4b36c8
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
jne 0x4b36c8
xor ebp, ebp
jmp 0x4b36cd
sbb ebp, ebp
or ebp, 1
mov eax, dword [esp + 0x14]
lea esi, [edx + 0x40]
test ebp, ebp
jne 0x4b36e6
push 0x40
push ebp
push edx
call fcn.00434d70
add esp, 0xc
jmp 0x4b36fa
cmp esi, edx
sbb ecx, ecx
and ecx, 0xfffffff0
add ecx, 0x10
cmp edx, esi
ja 0x4b36fe
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
mov edx, esi
cmp edx, eax
jne 0x4b36d1
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x98]
mov dword [ebp + 0xb40], 0
mov byte [edi + 0x40], 3
jmp 0x4b372b
sub eax, esi
mov dword [ebp + 0xb40], eax
push ecx
mov eax, esp
lea ecx, [edi + 0x26d0]
push ecx
mov dword [eax], ecx
mov eax, esp
push esi
push dword [esp + 0x40]
mov ecx, ebp
mov dword [eax], ebx
call fcn.004b3ab0
push ecx
mov eax, esp
lea ecx, [edi + 0x66d0]
push ecx
mov dword [eax], ecx
mov eax, esp
push esi
mov ecx, ebp
mov dword [eax], ebx
mov ebx, dword [esp + 0x40]
push ebx
call fcn.004b3ea0
push esi
push dword [esp + 0xac]
mov ecx, edi
push dword [esp + 0xac]
push ebp
call fcn.004b2890
lea eax, [ebx + esi]
mov dword [edi + 0x16cc], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x14
mov eax, dword [esp + 0x34]
add eax, esi
mov dword [edi + 0x16cc], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x14