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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor eax, eax
and dword [esp + 0x30], eax
mov ebx, edx
mov dword [esp + 0x14], eax
movsx eax, byte [edi + 0x44]
mov ebp, dword [edi + eax*4 + 0x78]
mov eax, dword [edi + 4]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], eax
call fcn.00423120
mov eax, dword [esp + 0x24]
mov esi, dword [edi + 0x18]
movzx edx, word [edi + 0x20]
mov ecx, dword [ebp + 0x38]
add ecx, dword [eax + 0x24]
mov dword [esp + 0x2c], esi
lea eax, [edx + esi]
cmp eax, ecx
jbe 0x4232e8
mov ecx, 0xe69c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
jmp fcn.00461cb5
mov ebp, dword [esp + 0x3c]
cmp ebx, edx
jae 0x423336
lea eax, [ebx + ebp]
mov esi, ebp
cmp eax, edx
jbe 0x4232fd
mov esi, edx
sub esi, ebx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
push dword [eax + 0x48]
mov eax, dword [esp + 0x48]
lea ecx, [ecx + ebx]
and eax, 1
push eax
push esi
call fcn.00423259
mov ecx, eax
add esp, 0xc
mov eax, dword [esp + 0x40]
xor ebx, ebx
add eax, esi
mov dword [esp + 0x14], ecx
sub ebp, esi
mov esi, dword [esp + 0x2c]
jmp 0x423340
mov eax, dword [esp + 0x40]
sub ebx, edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x42352e
test ebp, ebp
je 0x42352e
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x24]
movzx eax, word [edi + 0x20]
add edx, 0xfffffffc
cmp dword [esp + 0x44], 2
mov dword [esp + 0x18], edx
mov esi, dword [eax + esi]
bswap esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
je 0x4233e0
test byte [edi + 0x40], 4
jne 0x4233e6
mov eax, dword [edi + 0x1c]
dec edx
movzx ecx, word [edi + 0x20]
sub eax, ecx
add eax, edx
xor edx, edx
div dword [esp + 0x18]
mov dword [esp + 0x2c], eax
cmp eax, dword [edi + 0x38]
jle 0x4233c7
mov ecx, dword [edi + 0xc]
mov edx, eax
shl edx, 3
call fcn.00413e7d
mov ecx, eax
test ecx, ecx
jne 0x4233b7
push 7
pop ecx
mov dword [esp + 0x14], ecx
jmp 0x4233e0
mov eax, dword [esp + 0x2c]
add eax, eax
mov dword [edi + 0xc], ecx
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x2c]
shl eax, 2
push eax
push 0
push dword [edi + 0xc]
call fcn.0047ed30
mov ecx, dword [esp + 0x20]
add esp, 0xc
or byte [edi + 0x40], 4
test byte [edi + 0x40], 4
je 0x42340c
xor edx, edx
mov ecx, dword [edi + 0xc]
mov eax, ebx
div dword [esp + 0x18]
cmp dword [ecx + eax*4], 0
je 0x423408
mov esi, dword [ecx + eax*4]
mov ebx, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x42352e
mov edx, dword [esp + 0x30]
shl edx, 2
mov dword [esp + 0x2c], edx
test ebp, ebp
je 0x42351c
test esi, esi
je 0x42351c
test byte [edi + 0x40], 4
je 0x42343b
mov eax, dword [edi + 0xc]
mov dword [edx + eax], esi
cmp ebx, dword [esp + 0x18]
jb 0x42347d
mov eax, dword [edi + 0xc]
mov eax, dword [eax + edx + 4]
test eax, eax
je 0x423452
mov dword [esp + 0x1c], eax
jmp 0x423470
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x1c]
push eax
push 0
mov edx, esi
call fcn.00423179
mov edx, dword [esp + 0x34]
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [esp + 0x1c]
sub ebx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
jmp 0x423509
mov ecx, dword [esp + 0x18]
lea eax, [ebx + ebp]
sub ecx, ebx
mov edx, esi
cmp eax, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
cmovbe ecx, ebp
add eax, eax
not eax
mov dword [esp + 0x30], ecx
and eax, 2
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
call fcn.0041d599
mov dword [esp + 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x4234f7
mov esi, dword [esp + 0x34]
push esi
mov edx, dword [esi + 4]
mov eax, dword [edx]
lea ecx, [edx + 4]
mov edx, dword [esp + 0x2c]
add ecx, ebx
bswap eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
and eax, 1
push eax
push dword [esp + 0x38]
call fcn.00423259
add esp, 0xc
mov dword [esp + 0x14], eax
mov ecx, esi
call fcn.0041d8c9
xor ebx, ebx
mov eax, dword [esp + 0x30]
sub ebp, eax
add dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
add edx, 4
mov dword [esp + 0x2c], edx
test ecx, ecx
je 0x42341f
test ecx, ecx
jne 0x42352e
test ebp, ebp
je 0x42352e
mov ecx, 0xe737
jmp 0x4232dc
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x28
ret