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

Disassembly:
sub esp, 0x3c
mov eax, dword [0x4bdcf8]
xor eax, esp
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
push ebx
push ebp
movsx ebp, word [eax + 0x976]
mov dword [esp + 0x3c], eax
movsx eax, word [eax + 0x978]
mov dword [esp + 0x10], ecx
mov ecx, dword [ecx + 0xab0]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
add eax, eax
push esi
mov dword [esp + 0x34], ebp
push edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], 0
lea ebx, [eax*4 + 0x4c]
add ebp, 0x22
mov dword [esp + 0x14], 5
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xab0]
mov edi, dword [eax + ebx - 0x14]
mov cl, byte [edi + 0x78]
test cl, cl
je 0x42a416
mov eax, dword [eax + 0x100]
cmp byte [eax + 0x175], cl
mov ecx, dword [esp + 0x34]
mov esi, dword [edi + 0xe8]
sbb eax, eax
add ecx, 0x36
push ecx
inc eax
push ebp
call fcn.00448ab0
test eax, eax
je 0x42a416
mov ecx, dword [edi + 0xe8]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xab0]
mov edi, dword [eax + ebx]
mov cl, byte [edi + 0x78]
test cl, cl
je 0x42a45b
mov eax, dword [eax + 0x100]
cmp byte [eax + 0x175], cl
mov ecx, dword [esp + 0x34]
mov esi, dword [edi + 0xe8]
sbb eax, eax
add ecx, 0x5f
push ecx
inc eax
push ebp
call fcn.00448ab0
test eax, eax
je 0x42a45b
mov ecx, dword [edi + 0xe8]
mov dword [esp + 0x2c], ecx
add ebx, 4
add ebp, 0x29
sub dword [esp + 0x14], 1
jne 0x42a3d0
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0xab0]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x20]
lea edx, [edx + ecx*4]
add edx, ecx
add edx, dword [eax]
mov ebx, dword [eax + edx*4 + 0x38]
mov al, byte [ebx + 0x78]
lea ebp, [ebx + 0x3c]
mov dword [esp + 0x28], ebx
mov byte [ebx], 0
mov dword [esp + 0x30], ebp
mov byte [ebp], 0
test al, al
je 0x42a4e3
mov ecx, dword [esi + 0xab0]
mov ecx, dword [ecx + 0x100]
cmp byte [ecx + 0x175], al
jae 0x42a4e3
push ecx
mov edi, 0x4b33d4
call fcn.00402ac0
push eax
push ebx
call fcn.004770e4
movzx edx, byte [ebx + 0x78]
add esp, 0xc
push edx
mov edi, 0x4b33e4
call fcn.00402ac0
push eax
push ebp
call fcn.004770e4
add esp, 0xc
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
add eax, 0x90
add ecx, 0x11
add ebx, 0x7c
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], ebx
jmp 0x42a514
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebp, dword [edx]
mov al, byte [ebp + 0x175]
test al, al
je 0x42a592
xor edi, edi
mov dword [esp + 0x14], edi
lea ebx, [esi + 0x44e04]
mov esi, dword [ebx]
test esi, esi
je 0x42a57f
mov ecx, ebp
mov eax, esi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42a560
test dl, dl
je 0x42a55c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42a560
add eax, 2
add ecx, 2
test dl, dl
jne 0x42a540
xor eax, eax
jmp 0x42a565
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a57f
mov al, byte [ebp + 0x175]
mov dword [esp + 0x14], 1
cmp byte [esi + 0x175], al
jb 0x42a5ae
inc edi
add ebx, 4
cmp edi, 0xf0
jl 0x42a530
cmp dword [esp + 0x14], 0
je 0x42a5f1
mov eax, dword [esp + 0x24]
add dword [esp + 0x10], 4
inc eax
cmp eax, 0x14
mov dword [esp + 0x24], eax
jl 0x42a510
jmp 0x42a62a
push esi
mov edi, 0x4b3360
call fcn.00402ac0
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.004770e4
movzx edx, byte [ebp + 0x175]
movzx eax, byte [esi + 0x175]
add esp, 0xc
push edx
push eax
mov edi, 0x4b3374
call fcn.00402ac0
mov ecx, dword [esp + 0x38]
push eax
push ecx
call fcn.004770e4
add esp, 0x10
jmp 0x42a592
push ebp
mov edi, 0x4b338c
call fcn.00402ac0
mov edx, dword [esp + 0x2c]
push eax
push edx
call fcn.004770e4
movzx eax, byte [ebp + 0x175]
add esp, 0xc
push eax
mov edi, 0x4b33a4
call fcn.00402ac0
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.004770e4
add esp, 0xc
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
add eax, 0xcc
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], 7
jmp 0x42a650
mov ecx, dword [esp + 0x24]
mov esi, dword [ecx]
cmp dword [esi + 0x70], 0
je 0x42a818
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x10], 0
add ebx, 0x441c0
mov ebp, 0x60
mov edi, dword [ebx]
test edi, edi
je 0x42a6c3
lea ecx, [esi + 0x18]
lea eax, [edi + 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42a6a3
test dl, dl
je 0x42a69f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42a6a3
add eax, 2
add ecx, 2
test dl, dl
jne 0x42a683
xor eax, eax
jmp 0x42a6a8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a6c3
movzx eax, word [edi + 0x60]
cmp ax, 2
jb 0x42a6bf
movzx edx, ax
add dword [esp + 0x10], edx
jmp 0x42a6c3
inc dword [esp + 0x10]
add ebx, 4
sub ebp, 1
jne 0x42a677
mov ebx, dword [esp + 0x18]
add ebx, 0x44368
mov ebp, 0xa
lea ebx, [ebx]
mov edi, dword [ebx]
test edi, edi
je 0x42a730
lea ecx, [esi + 0x18]
lea eax, [edi + 0x18]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42a710
test dl, dl
je 0x42a70c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42a710
add eax, 2
add ecx, 2
test dl, dl
jne 0x42a6f0
xor eax, eax
jmp 0x42a715
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a730
movzx eax, word [edi + 0x60]
cmp ax, 2
jb 0x42a72c
movzx eax, ax
add dword [esp + 0x10], eax
jmp 0x42a730
inc dword [esp + 0x10]
add ebx, 4
sub ebp, 1
jne 0x42a6e0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xab0]
mov ebx, dword [edx + 0x10]
imul ebx, dword [esi + 0x70]
mov ebp, dword [esp + 0x10]
cmp ebp, ebx
jl 0x42a757
mov word [esi + 0x60], bx
jmp 0x42a791
lea eax, [esi + 0x18]
push eax
mov edi, 0x4b33b8
mov word [esi + 0x60], bp
call fcn.00402ac0
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.004770e4
add esp, 0xc
push ebx
push ebp
mov edi, 0x4b33c0
call fcn.00402ac0
mov edx, dword [esp + 0x38]
push eax
push edx
call fcn.004770e4
add esp, 0x10
movzx eax, word [esi + 0x60]
shl eax, 5
cdq
idiv ebx
movzx ecx, byte [0x4c02cc]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
push 0xa
and ecx, 0x8000
add ecx, 0x7fff
push ecx
mov ecx, dword [0x4c02d8]
mov edx, ebx
push eax
sub edx, eax
push 0x20
add edx, 0x20
push edx
push ebp
call fcn.00467270
movzx eax, word [esi + 0x60]
cmp eax, dword [esi + 0x70]
jge 0x42a7e4
xor eax, eax
lea edi, [eax + 1]
jmp 0x42a7eb
mov eax, 1
xor edi, edi
lea ecx, [ebx + 0x10]
push ecx
lea edx, [ebp + 0x10]
push edx
call fcn.00448ab0
test eax, eax
je 0x42a800
mov dword [esp + 0x2c], esi
movzx eax, word [esi + 0x60]
push 4
push eax
add ebx, 0x14
push ebx
lea ecx, [ebp + 0x26]
mov eax, edi
call fcn.0044d040
add esp, 0xc
add dword [esp + 0x24], 4
add dword [esp + 0x14], 0x29
sub dword [esp + 0x3c], 1
jne 0x42a650
mov ecx, dword [0x6043b8]
mov edx, dword [0x4c02d8]
push ecx
push edx
call fcn.004733b0
push 0x141414
push 0xc8c8c8
mov esi, eax
call fcn.00470e70
mov ebp, dword [esp + 0x28]
mov eax, dword [ebp + 0xab0]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x30]
add eax, 0x14
push eax
lea ecx, [ebx + 0x10]
push ecx
push edi
push esi
call fcn.00472890
mov edx, dword [esp + 0x48]
push edx
lea eax, [ebx + 0xbc]
push eax
push edi
push esi
call fcn.00472890
mov ecx, dword [esp + 0x60]
push ecx
lea edx, [ebx + 0xce]
push edx
push edi
push esi
call fcn.00472890
mov eax, dword [0x4c02d8]
add esp, 0x40
push esi
push eax
call fcn.00473540
mov edi, dword [esp + 0x4c]
add esp, 8
call fcn.0042d9a0
cmp eax, 1
je 0x42a8bd
cmp eax, 2
jne 0x42a921
cmp eax, 0x40
jge 0x42a921
mov eax, dword [edi + eax*4 + 0xa08]
test eax, eax
je 0x42a921
cmp byte [eax + 0x14], 0
movsx ecx, word [edi + 0x978]
movsx edx, word [edi + 0x976]
je 0x42a921
mov esi, dword [eax + 4]
test esi, esi
je 0x42a904
push esi
movsx esi, word [eax + 0xe]
add esi, ecx
movsx ecx, word [eax + 0xc]
add ecx, edx
push esi
push ecx
mov ecx, dword [0x4c02d8]
call fcn.0046a860
jmp 0x42a921
mov esi, dword [eax + 8]
push esi
movsx esi, word [eax + 0xe]
movsx eax, word [eax + 0xc]
add esi, ecx
mov ecx, dword [0x4c02d8]
push esi
add eax, edx
push eax
call fcn.00469a90
mov esi, dword [edi + 0xa14]
test esi, esi
je 0x42a9af
movsx ecx, word [edi + 0x978]
mov edx, dword [ebp + 0xab0]
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
shl ecx, 5
mov eax, 0xa57eb503
imul ecx
add edx, ecx
movsx ecx, word [edi + 0x976]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ecx
cmp byte [esi + 0x14], 0
je 0x42a9af
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x42a990
movsx edx, word [esi + 0xe]
add edx, dword [esp + 0x20]
push ecx
movsx ecx, word [esi + 0xc]
add ecx, eax
push edx
push ecx
mov ecx, dword [0x4c02d8]
call fcn.0046a860
jmp 0x42a9af
mov edx, dword [esi + 8]
movsx ecx, word [esi + 0xe]
add ecx, dword [esp + 0x20]
push edx
movsx edx, word [esi + 0xc]
push ecx
mov ecx, dword [0x4c02d8]
add edx, eax
push edx
call fcn.00469a90
mov eax, dword [ebp + 0xab0]
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x38]
inc ecx
push 2
push ecx
lea edx, [ebx + 0x32]
push edx
lea ecx, [esi + 0x113]
xor eax, eax
call fcn.0044d040
mov eax, dword [ebp + 0xab0]
mov ecx, dword [eax + 0x10]
push 2
push ecx
lea edx, [ebx + 0x7a]
push edx
lea ecx, [esi + 0x128]
xor eax, eax
call fcn.0044d040
movzx ecx, byte [0x4c02cc]
mov eax, dword [ebp + 0xab0]
mov edx, dword [eax + 4]
add esp, 0x18
neg ecx
sbb ecx, ecx
imul edx, edx, 0x29
and ecx, 0x6720
add ecx, 0x6739
push ecx
lea ecx, [edx + ebx + 0x24]
mov edx, dword [eax]
imul edx, edx, 0x29
push 0x23
push 0x23
push ecx
mov ecx, dword [0x4c02d8]
lea eax, [edx + esi + 0xf]
push eax
call fcn.00467200
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x42aa49
add eax, 0x18
push eax
mov eax, ebp
call fcn.004391f0
add esp, 4
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.004768b9
add esp, 0x3c
ret 4