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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [0x4d3040]
xor eax, esp
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], eax
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x18], esi
push edi
test edx, edx
je 0x43efb6
test ecx, ecx
je 0x43efb6
test ebx, ebx
je 0x43efb6
mov edx, dword [ebx + 0x210]
lea edi, [esp + 0x2c]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test edx, edx
jne 0x43edde
xor esi, esi
cmp dword [ebx + 0x214], esi
jne 0x43edde
cmp dword [ebx + 0x218], esi
jne 0x43edde
mov ecx, dword [ebx + 0x21c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
test ecx, ecx
je 0x43ee5a
mov esi, dword [ebx + 0x218]
mov edi, eax
mov ecx, dword [edi]
lea eax, [ecx + edx]
mov edx, dword [edi + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x214]
mov dword [esp + 0x10], eax
add eax, edx
mov dword [esp + 0x30], eax
lea eax, [ecx + esi]
cmp eax, dword [edi + 8]
mov ecx, dword [ebx + 0x21c]
cmovg eax, dword [edi + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], ecx
lea eax, [edx + ecx]
mov edx, dword [edi + 0xc]
mov dword [esp + 0x38], eax
cmp eax, edx
jle 0x43ee38
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov edx, dword [ebx + 0x210]
test byte [ebx + 0x25c], 2
je 0x43ee5e
mov ecx, dword [edi + 8]
mov eax, ecx
sub eax, esi
mov dword [esp + 0x34], ecx
add eax, edx
mov dword [esp + 0x2c], eax
jmp 0x43ee87
mov edi, eax
jmp 0x43ee3e
test byte [ebx + 0x25c], 1
je 0x43ee87
mov eax, dword [edi + 8]
sub eax, dword [edi]
sub eax, esi
add eax, edx
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi]
mov dword [esp + 0x2c], eax
sub eax, dword [ebx + 0x210]
add eax, esi
mov dword [esp + 0x34], eax
test byte [ebx + 0x25c], 8
je 0x43eea7
mov ecx, dword [edi + 0xc]
mov eax, ecx
sub eax, dword [esp + 0x14]
add eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ecx
jmp 0x43eed6
test byte [ebx + 0x25c], 4
je 0x43eed6
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 4]
sub eax, dword [esp + 0x14]
add eax, dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 4]
mov dword [esp + 0x30], eax
sub eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
push dword [ebx + 0x250]
mov esi, dword [sym.imp.USER32.dll_OffsetRect]
lea eax, [esp + 0x30]
push dword [ebx + 0x24c]
push eax
call esi
mov eax, dword [ebx + 0x258]
neg eax
push eax
mov eax, dword [ebx + 0x254]
neg eax
push eax
lea eax, [esp + 0x34]
push eax
call esi
mov eax, dword [esp + 0x34]
lea esi, [ebx + 0x230]
cmp eax, dword [edi + 8]
mov edx, dword [esp + 0x24]
cmovg eax, dword [edi + 8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x28]
cmovg eax, dword [edi + 0xc]
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x48], eax
sub esp, 0x10
movzx eax, byte [ebx + 0x247]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebx + 0x220]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [esp + 0x5c]
push dword [esp + 0x4c]
push dword [ebx + 0x268]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x264]
push dword [ebx + 0x260]
movsd dword es:[edi], dword [esi]
push eax
movzx eax, byte [ebx + 0x246]
push eax
movzx eax, byte [ebx + 0x245]
push eax
movzx eax, byte [ebx + 0x244]
push eax
push dword [ebx + 0x240]
lea eax, [ebx + 0x18c]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebx + 0x108]
push eax
push dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
push eax
movsd dword es:[edi], dword [esi]
call fcn.0043cc23
add esp, 0x64
jmp 0x43efb8
xor al, al
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004820f4
mov esp, ebp
pop ebp
ret