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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
cmp esi, edi
je 0x42043c
mov al, byte [esi]
push 0x10
mov byte [edi], al
mov al, byte [esi + 1]
mov byte [edi + 1], al
mov al, byte [esi + 2]
mov byte [edi + 2], al
mov al, byte [esi + 3]
mov byte [edi + 3], al
mov al, byte [esi + 4]
mov byte [edi + 4], al
push 0
fld qword [esi + 8]
fstp qword [edi + 8]
fld qword [esi + 0x10]
fstp qword [edi + 0x10]
fld qword [esi + 0x18]
fstp qword [edi + 0x18]
mov eax, dword [esi + 0x20]
mov dword [edi + 0x20], eax
lea eax, [ebp - 0x10]
push eax
call fcn.00447300
mov ecx, dword [esi + 0x28]
add esp, 0xc
test ecx, ecx
jne 0x42021a
xor eax, eax
jmp 0x420222
mov eax, dword [esi + 0x2c]
sub eax, ecx
sar eax, 4
lea ecx, [ebp - 0x10]
push ebx
push ecx
push eax
lea ecx, [edi + 0x24]
call fcn.00411d1b
mov eax, dword [esi + 0x2c]
mov ebx, dword [esi + 0x28]
mov ecx, dword [edi + 0x28]
cmp ebx, eax
mov dword [ebp - 4], eax
mov dword [ebp + 8], ecx
je 0x420258
mov ecx, dword [ebp + 8]
push ebx
call fcn.00412052
add dword [ebp + 8], 0x10
add ebx, 0x10
cmp ebx, dword [ebp - 4]
jne 0x420243
push 0x68
lea eax, [ebp - 0x78]
push 0
push eax
call fcn.00447300
mov ecx, dword [esi + 0x38]
add esp, 0xc
test ecx, ecx
jne 0x420273
xor eax, eax
jmp 0x42027e
mov eax, dword [esi + 0x3c]
push 0x68
sub eax, ecx
pop ecx
cdq
idiv ecx
lea ecx, [ebp - 0x78]
push ecx
push eax
lea ecx, [edi + 0x34]
call fcn.004079bb
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + 0x38]
mov ecx, dword [edi + 0x38]
cmp ebx, eax
mov dword [ebp - 4], eax
mov dword [ebp + 8], ecx
je 0x4202b3
mov ecx, dword [ebp + 8]
push ebx
call fcn.00407d2e
add dword [ebp + 8], 0x68
add ebx, 0x68
cmp ebx, dword [ebp - 4]
jne 0x42029e
fld qword [esi + 0x48]
push 0x78
lea eax, [ebp - 0x88]
fstp qword [edi + 0x48]
fld qword [esi + 0x50]
push 0
push eax
fstp qword [edi + 0x50]
call fcn.00447300
mov ecx, dword [esi + 0x78]
or byte [ebp - 0x48], 0xff
add esp, 0xc
test ecx, ecx
jne 0x4202e1
xor eax, eax
jmp 0x4202ec
mov eax, dword [esi + 0x7c]
push 0x78
sub eax, ecx
pop ecx
cdq
idiv ecx
lea ecx, [ebp - 0x88]
push ecx
push eax
lea ecx, [edi + 0x74]
call fcn.0041a3b7
mov eax, dword [esi + 0x7c]
mov ebx, dword [esi + 0x78]
mov ecx, dword [edi + 0x78]
cmp ebx, eax
mov dword [ebp - 4], eax
mov dword [ebp + 8], ecx
je 0x420324
mov ecx, dword [ebp + 8]
push ebx
call fcn.0041a72a
add dword [ebp + 8], 0x78
add ebx, 0x78
cmp ebx, dword [ebp - 4]
jne 0x42030f
mov al, byte [esi + 0x70]
mov byte [edi + 0x70], al
fld qword [esi + 0x58]
fstp qword [edi + 0x58]
fld qword [esi + 0x60]
fstp qword [edi + 0x60]
fld qword [esi + 0x68]
fstp qword [edi + 0x68]
fld qword [esi + 0x88]
fstp qword [edi + 0x88]
fld qword [esi + 0x90]
fstp qword [edi + 0x90]
fld qword [esi + 0xa0]
fstp qword [edi + 0xa0]
mov al, byte [esi + 0xb8]
mov byte [edi + 0xb8], al
fld qword [esi + 0xb0]
fstp qword [edi + 0xb0]
mov ecx, dword [esi + 0xc0]
fldz
test ecx, ecx
fstp qword [ebp - 8]
jne 0x42038b
xor eax, eax
jmp 0x420396
mov eax, dword [esi + 0xc4]
sub eax, ecx
sar eax, 3
lea ecx, [ebp - 8]
push ecx
push eax
lea ecx, [edi + 0xbc]
call fcn.00401d41
mov edx, dword [esi + 0xc4]
mov ecx, dword [edi + 0xc0]
mov eax, dword [esi + 0xc0]
push 8
pop ebx
cmp eax, edx
je 0x4203c9
fld qword [eax]
fstp qword [ecx]
add ecx, ebx
add eax, ebx
jmp 0x4203bb
fld qword [esi + 0xd0]
fstp qword [edi + 0xd0]
fld qword [esi + 0xd8]
fstp qword [edi + 0xd8]
mov ecx, dword [esi + 0xec]
fldz
test ecx, ecx
fstp qword [ebp - 8]
jne 0x4203f4
xor eax, eax
jmp 0x4203ff
mov eax, dword [esi + 0xf0]
sub eax, ecx
sar eax, 3
lea ecx, [ebp - 8]
push ecx
push eax
lea ecx, [edi + 0xe8]
call fcn.00401d41
mov edx, dword [esi + 0xf0]
mov ecx, dword [edi + 0xec]
mov eax, dword [esi + 0xec]
cmp eax, edx
je 0x42042f
fld qword [eax]
fstp qword [ecx]
add ecx, ebx
add eax, ebx
jmp 0x420421
fld qword [esi + 0xe0]
pop ebx
fstp qword [edi + 0xe0]
mov eax, edi
pop edi
pop esi
leave
ret 4