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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [0x4fc00c]
xor eax, esp
mov dword [esp + 0x20], eax
push ebx
push esi
mov esi, ecx
push edi
movsx edi, word [esi + 0x4c]
mov eax, dword [esi]
mov dword [esp + 0xc], eax
mov dword [esp + 0x24], edi
mov ecx, dword [esi + edi*4 + 0x78]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
mov ax, word [esi + edi*2 + 0x4e]
cmp ax, word [ecx + 0x12]
jae 0x426a89
cmp byte [esi + 0x49], 1
jne 0x426a89
movzx edx, ax
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
movzx ebx, byte [eax + edx*2]
movzx eax, byte [eax + edx*2 + 1]
shl ebx, 8
or ebx, eax
movzx eax, word [ecx + 0x14]
and ebx, eax
add ebx, dword [ecx + 0x38]
cmp byte [ecx + 5], 0
jne 0x4268c4
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
call fcn.00423be0
add esp, 8
test eax, eax
jne 0x426a8e
mov edx, dword [esi + 0x3c]
mov ecx, dword [esp + 0x14]
push esi
call fcn.0041f490
add esp, 4
test eax, eax
jne 0x426a8e
cmp dword [esi + 0x10], eax
jne 0x426910
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x426910
test byte [eax + 0x48], 0x10
je 0x426909
cmp dword [eax + 0x18], ecx
jne 0x426909
cmp dword [eax + 0x1c], edx
jne 0x426909
mov byte [eax + 0x49], 0
mov eax, dword [eax + 8]
test eax, eax
jne 0x4268f5
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x44]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + 0x94]
cmp eax, dword [ecx + 0x98]
mov ecx, edx
jbe 0x426931
call fcn.0041bcf0
jmp 0x426936
call fcn.0041bb50
test eax, eax
jne 0x426a8e
lea eax, [esp + 0xc]
mov edx, ebx
mov ebx, dword [esp + 0x10]
mov ecx, ebx
push eax
call fcn.004248a0
mov edx, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x28], eax
mov ecx, ebx
lea eax, [esp + 0x28]
push eax
movzx eax, word [esp + 0x10]
push eax
call fcn.00424e50
mov eax, dword [esp + 0x30]
add esp, 8
test eax, eax
jne 0x426a8e
cmp byte [ebx + 5], al
jne 0x426a2b
movsx eax, word [esi + 0x4c]
mov ebx, dword [esi + eax*4 + 0x78]
mov eax, dword [esi + edi*4 + 0x7c]
mov dword [esp + 0xc], ebx
movzx ecx, word [ebx + 0x12]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x40]
movzx edx, byte [eax + ecx*2 - 2]
movzx eax, byte [eax + ecx*2 - 1]
mov ecx, ebx
shl edx, 8
or edx, eax
movzx eax, word [ebx + 0x14]
and edx, eax
add edx, dword [ebx + 0x38]
mov dword [esp + 0x20], edx
call fcn.0041fb30
mov ecx, dword [esp + 0xc]
movzx ebx, ax
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx + 0x44]
mov edi, dword [eax + 0x50]
call fcn.0041bed0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x20]
lea eax, [ebx + 4]
push edi
push eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffffc
push eax
call fcn.00424f30
add esp, 0x14
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x10]
mov ecx, eax
push ebx
movzx edx, word [eax + 0x12]
dec edx
call fcn.00424e50
mov eax, dword [esp + 0x30]
add esp, 8
test eax, eax
jne 0x426a8e
mov edi, dword [esp + 0x24]
mov ecx, esi
call fcn.00426460
mov ebx, eax
test ebx, ebx
jne 0x426a75
movsx ecx, word [esi + 0x4c]
cmp ecx, edi
jle 0x426a6e
movzx ecx, word [esi + 0x4c]
movsx eax, cx
mov edx, dword [esi + eax*4 + 0x78]
lea eax, [ecx - 1]
mov ecx, edx
mov word [esi + 0x4c], ax
call fcn.004206f0
movsx eax, word [esi + 0x4c]
cmp eax, edi
jg 0x426a40
mov ecx, esi
call fcn.00426460
mov ebx, eax
test ebx, ebx
jne 0x426a75
mov ecx, esi
call fcn.00423220
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.004bde8e
mov esp, ebp
pop ebp
ret
mov eax, 1
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004bde8e
mov esp, ebp
pop ebp
ret