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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x30
mov edi, eax
mov esi, dword [edi + 0x68]
mov ebp, dword [edi + 0x6c]
push 0x7d9af0
push edx
call fcn.00459852
add esp, 8
mov dword [esp + 0x28], eax
mov edx, eax
test edx, edx
je 0x43432e
lea ebx, [esi + esi]
lea ebx, [ebx + esi + 3]
and ebx, 0xfffffffc
mov edx, ebp
imul edx, ebx
mov dword [esp + 0x24], edx
push edx
call fcn.00458ddc
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x80]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x28]
push edx
mov ecx, dword [esp + 0x28]
push ecx
call dword [0x5a3440]
add esp, 0xc
test ebp, ebp
jle 0x43416b
xor ecx, ecx
lea edx, [esi + esi]
add edx, edx
mov edi, ebx
imul edi, ecx
mov eax, ebp
sub eax, ecx
dec eax
imul eax, edx
test esi, esi
jle 0x434320
mov dword [esp], ecx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x1c]
lea edx, [ecx + eax]
mov dword [esp + 0x10], edx
lea eax, [ecx + eax]
mov edx, dword [esp + 0x20]
lea edi, [edx + edi]
mov edx, dword [esp + 0x10]
lea edx, [edx + esi*4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov ebp, dword [esp + 0x10]
movzx ecx, byte [eax]
mov byte [edi], cl
movzx ebx, byte [eax + 1]
mov byte [edi + 1], bl
movzx ecx, byte [eax + 2]
mov byte [edi + 2], cl
add edi, 3
add eax, 4
cmp eax, ebp
jb 0x434136
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0xc]
inc ecx
cmp ecx, ebp
jl 0x4340e0
mov eax, 0x4d42
mov word [esp + 0x2c], ax
lea ecx, [esp + 0x2c]
mov edx, dword [esp + 0x28]
push edx
push 2
push 1
push ecx
call fcn.0045ab4e
mov eax, dword [esp + 0x34]
lea edx, [eax + 0x36]
mov dword [esp + 0x28], edx
lea ebx, [esp + 0x28]
mov ecx, dword [esp + 0x38]
push ecx
push 4
push 1
push ebx
call fcn.0045ab4e
mov dword [esp + 0x38], 0
lea edx, [esp + 0x38]
mov eax, dword [esp + 0x48]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
mov dword [esp + 0x48], 0x36
lea edx, [esp + 0x48]
mov eax, dword [esp + 0x58]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
mov dword [esp + 0x58], 0x28
lea edx, [esp + 0x58]
mov eax, dword [esp + 0x68]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
mov dword [esp + 0x68], esi
lea edx, [esp + 0x68]
mov eax, dword [esp + 0x78]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
mov dword [esp + 0x78], ebp
lea edx, [esp + 0x78]
mov eax, dword [esp + 0x88]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
add esp, 0x70
mov edx, 1
mov word [esp + 0x2c], dx
lea ecx, [esp + 0x2c]
mov eax, dword [esp + 0x28]
push eax
push 2
push edx
push ecx
call fcn.0045ab4e
mov eax, 0x18
mov word [esp + 0x3c], ax
lea ecx, [esp + 0x3c]
mov edx, dword [esp + 0x38]
push edx
push 2
push 1
push ecx
call fcn.0045ab4e
mov dword [esp + 0x38], 0
lea edx, [esp + 0x38]
mov eax, dword [esp + 0x48]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
lea edx, [esp + 0x48]
mov eax, dword [esp + 0x58]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
lea edx, [esp + 0x58]
mov eax, dword [esp + 0x68]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
lea edx, [esp + 0x68]
mov eax, dword [esp + 0x78]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
lea edx, [esp + 0x78]
mov eax, dword [esp + 0x88]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
add esp, 0x70
lea edx, [esp + 0x18]
mov eax, dword [esp + 0x28]
push eax
push 4
push 1
push edx
call fcn.0045ab4e
mov eax, dword [esp + 0x38]
push eax
mov edx, dword [esp + 0x38]
push edx
push 1
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0045ab4e
add esp, 0x20
mov eax, dword [esp + 0x20]
test eax, eax
je 0x43430c
push eax
call fcn.0045903f
pop ecx
mov eax, dword [esp + 0x28]
push eax
call fcn.00459bb8
xor eax, eax
add esp, 0x34
pop ebx
pop ebp
pop esi
pop edi
ret
inc ecx
cmp ecx, ebp
jl 0x4340e0
jmp 0x43416b
push 0x7da300
push 0
call fcn.0040af10
mov eax, 0xffffffff
add esp, 0x38
pop ebx
pop ebp
pop esi
pop edi
ret