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

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x2c]
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
push esi
push edi
mov edi, ecx
mov esi, dword [edi + 0xa8]
add esi, dword [edi + 0x20]
adc ebx, dword [edi + 0x24]
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x38]
push ebx
mov dword [ebp], ecx
mov dword [esp + 0x18], ecx
mov dword [eax], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ecx
mov ecx, edi
push esi
call fcn.00436081
cmp eax, esi
jne 0x43562c
cmp edx, ebx
jne 0x43562c
lea eax, [esp + 0x1c]
push eax
call fcn.00435399
cmp dword [esp + 0x1c], 0x4034b50
jne 0x43562c
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.004353de
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.004353de
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.004353de
mov eax, dword [edi + 0x64]
cmp dword [esp + 0x14], eax
jne 0x43562c
test eax, eax
je 0x4354f9
cmp eax, 8
jne 0x43562c
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.00435399
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call fcn.00435399
mov eax, dword [esp + 0x14]
cmp eax, dword [edi + 0x6c]
je 0x435525
test byte [esp + 0x18], 8
je 0x43562c
xorps xmm0, xmm0
lea eax, [esp + 0x20]
push eax
mov ecx, edi
movlpd qword [esp + 0x24], xmm0
movlpd qword [esp + 0x2c], xmm0
call fcn.00435399
lea eax, [esp + 0x28]
mov ecx, edi
push eax
call fcn.00435399
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.004353de
mov esi, dword [esp + 0x34]
cmp esi, dword [edi + 0x80]
jne 0x43562c
and dword [esp + 0x14], 0
lea eax, [esp + 0x14]
push eax
mov ecx, edi
mov dword [ebp], esi
call fcn.004353de
mov eax, dword [esp + 0x38]
add esi, 0x1e
add esi, dword [edi + 0xa8]
mov ecx, dword [esp + 0x14]
add dword [ebp], ecx
cmp dword [esp + 0x20], 0xffffffff
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [eax], esi
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jne 0x4355ab
test ebx, ebx
je 0x4355c0
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
jne 0x435691
test ebp, ebp
jne 0x435691
and dword [esp + 0x3c], 0
xor eax, eax
and dword [esp + 0x1c], 0
add ecx, esi
mov dword [esp + 0x34], eax
jmp 0x435628
push eax
push esi
mov ecx, edi
call fcn.00436081
cmp eax, esi
jne 0x43562c
cmp edx, dword [esp + 0x34]
jne 0x43562c
lea eax, [esp + 0x1c]
push eax
call fcn.004353de
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
call fcn.004353de
cmp dword [esp + 0x1c], 1
je 0x435638
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add eax, 4
add esi, eax
mov eax, dword [esp + 0x34]
adc eax, 0
mov ecx, dword [ecx]
add ecx, dword [esp + 0x14]
mov dword [esp + 0x34], eax
test eax, eax
jb 0x4355d4
ja 0x43562c
cmp esi, ecx
jb 0x4355d4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0xc
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
jne 0x435667
test ebp, ebp
jne 0x435667
mov esi, dword [esp + 0x3c]
cmp esi, 8
jb 0x43562c
lea eax, [esp + 0x28]
mov ecx, edi
push eax
call fcn.0043533e
mov ebp, dword [esp + 0x2c]
sub esi, 8
mov eax, dword [esp + 0x28]
jmp 0x43566b
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
cmp ecx, 0xffffffff
jne 0x435695
test ebx, ebx
jne 0x435695
cmp esi, 8
jb 0x43562c
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.0043533e
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
cmp ecx, dword [edi + 0x70]
jne 0x43569f
cmp ebx, dword [edi + 0x74]
je 0x4356a6
test byte [esp + 0x18], 8
je 0x43562c
cmp eax, dword [edi + 0x78]
jne 0x4356b0
cmp ebp, dword [edi + 0x7c]
je 0x4356bb
test byte [esp + 0x18], 8
je 0x43562c
mov al, 1
jmp 0x43562e