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

Disassembly:
sub esp, 0x4f4
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], ecx
call fcn.004329a4
xor ecx, ecx
lea edx, [esp + 0x13]
cmp al, 2
sete cl
xor ebx, ebx
push ebx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
push 1
call fcn.00412987
test al, al
je 0x42bf48
mov al, byte [esp + 0x13]
test al, al
je 0x42bf48
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x280]
push ebx
movzx eax, al
push eax
call fcn.00412987
test al, al
je 0x42bf48
movzx eax, byte [esp + 0x13]
jmp 0x42bd09
dec eax
cmp byte [esp + eax + 0x280], bl
je 0x42bd4d
test eax, eax
jne 0x42bcff
mov ecx, ebx
push 5
pop eax
push ebx
test ecx, ecx
mov esi, 0xff05
push 2
cmove eax, esi
movzx eax, ax
pop edi
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push edi
push eax
push dword [esp + 0x20]
call dword [0x43c510]
cmp eax, edi
jne 0x42bf48
cmp word [esp + 0x20], si
jne 0x42bd58
mov al, 1
jmp 0x42bf4a
lea ecx, [esp + 0x280]
add ecx, eax
jmp 0x42bd0f
xor ecx, ecx
mov byte [esp + 0x1c], bl
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x50]
push 4
pop eax
push eax
call fcn.00412987
test al, al
je 0x42bf48
cmp byte [esp + 0x4c], 5
jne 0x42bf48
test byte [esp + 0x2c], 1
push 0x17
pop ebp
je 0x42bd97
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], edi
jmp 0x42bd9f
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], ebp
movzx eax, byte [esp + 0x4f]
xor ecx, ecx
mov edi, dword [0x43c550]
mov esi, ecx
mov dword [esp + 0x34], esi
push 0x10
pop edx
dec eax
je 0x42bee3
dec eax
dec eax
je 0x42be0e
dec eax
jne 0x42bf48
push ecx
mov ecx, dword [esp + 0x18]
push edx
lea edx, [esp + 0xf0]
call fcn.00412987
test al, al
je 0x42bf48
push 0x1c
pop ecx
call fcn.0042753b
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
je 0x42bf0b
push 0x10
pop eax
push eax
lea eax, [esp + 0xec]
mov word [esi], bp
push eax
lea eax, [esi + 8]
jmp 0x42bf23
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x17]
push 1
call fcn.00412987
test al, al
je 0x42bf48
mov al, byte [esp + 0x13]
test al, al
je 0x42bf48
xor ecx, ecx
movzx eax, al
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x404]
push eax
call fcn.00412987
test al, al
je 0x42bf48
movzx eax, byte [esp + 0x13]
xor ecx, ecx
mov dword [esp + 0x48], ecx
mov byte [esp + eax + 0x400], cl
lea eax, [esp + 0x48]
push eax
push ecx
push ecx
lea eax, [esp + 0x40c]
push eax
call dword [0x43c4e4]
test eax, eax
je 0x42be83
mov bl, 4
jmp 0x42bf0d
xor ecx, ecx
mov dl, cl
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x42bea2
movzx eax, dl
mov eax, dword [esp + eax*4 + 0x54]
cmp dword [ecx + 4], eax
je 0x42bebb
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x42be96
inc dl
cmp dl, 2
jb 0x42be87
mov bl, 4
mov byte [esp + 0x1c], bl
push dword [esp + 0x48]
call dword [0x43c504]
jmp 0x42bf29
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x18]
call fcn.00427608
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
jne 0x42bed4
mov bl, 1
jmp 0x42beab
cmp word [esi], bp
jne 0x42beaf
xor eax, eax
mov dword [esi + 0x18], eax
mov dword [esi + 4], eax
jmp 0x42beaf
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x64]
push 4
call fcn.00412987
test al, al
je 0x42bf48
push 0x10
pop eax
mov ecx, eax
call fcn.0042753b
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
jne 0x42bf13
mov bl, 1
mov byte [esp + 0x1c], bl
jmp 0x42bf29
push 2
pop eax
mov word [esi], ax
lea eax, [esp + 0x60]
push 4
push eax
lea eax, [esi + 4]
push eax
call edi
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x50]
xor eax, eax
push eax
push 2
pop eax
push eax
call fcn.00412987
test al, al
jne 0x42bf55
mov ecx, esi
call fcn.004275f4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4f4
ret
mov bh, 1
test bl, bl
jne 0x42c64b
mov ax, word [esp + 0x50]
mov word [esi + 2], ax
movzx eax, byte [esp + 0x4d]
dec eax
je 0x42c5f2
dec eax
je 0x42c52b
dec eax
je 0x42bf86
add bl, 7
jmp 0x42c602
mov eax, 0x80
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x1c]
call dword [0x43c4b8]
test eax, eax
jne 0x42c524
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x384]
push eax
push dword [esp + 0x1c]
call dword [0x43c4b0]
test eax, eax
jne 0x42c524
mov word [esp + 0x6a], ax
cmp word [esp + 0x68], bp
jne 0x42bfe5
mov dword [esp + 0x80], eax
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x68]
call fcn.00412d1d
mov dword [esp + 0x38], eax
cmp eax, 0xffffffff
je 0x42c524
mov ecx, 0xffff
call fcn.0042753b
mov edi, eax
test edi, edi
jne 0x42c016
mov bl, 1
mov byte [esp + 0x1c], bl
jmp 0x42c51b
push dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
call fcn.0042bb59
cmp eax, 1
jne 0x42c503
or dword [esp + 0x28], 0xffffffff
xor ecx, ecx
or dword [esp + 0x104], 0xffffffff
push 2
pop eax
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x14]
push ecx
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x3c]
push ecx
mov dword [esp + 0x108], eax
lea eax, [esp + 0x100]
push ecx
push eax
push ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], ecx
call dword [0x43c4e8]
test eax, eax
jle 0x42c4f8
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xf8]
call fcn.00412969
test al, al
je 0x42c0b8
xor eax, eax
push eax
push 0xffff
push edi
push ecx
call dword [0x43c4f8]
test eax, eax
jle 0x42c4f4
lea edx, [esp + 0xf8]
mov dword [esp + 0x24], 0x80
mov ecx, esi
call fcn.00412969
test al, al
je 0x42c28d
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x6c]
push eax
xor eax, eax
push eax
push 0xffff
push edi
push esi
call dword [0x43c4b4]
mov dword [esp + 0x40], eax
test eax, eax
jle 0x42c4f4
cmp eax, 6
jb 0x42c28d
mov cx, word [esp + 0x68]
cmp word [esp + 0x380], cx
jne 0x42c28d
push 2
pop eax
cmp cx, ax
jne 0x42c12d
mov eax, dword [esp + 0x384]
cmp eax, dword [esp + 0x6c]
jmp 0x42c14e
cmp cx, bp
jne 0x42c154
push 0x10
pop eax
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x390]
push eax
call dword [0x43c558]
add esp, 0xc
test eax, eax
jne 0x42c28d
cmp byte [edi + 2], 0
jne 0x42c28d
xor eax, eax
cmp word [edi], ax
jne 0x42c28d
cmp dword [esp + 0x20], eax
jne 0x42c1ad
push dword [esp + 0x24]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x208]
push eax
call dword [0x43c550]
add esp, 0xc
cmp word [esp + 0x200], bp
jne 0x42c1a3
xor eax, eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
xor eax, eax
push 0x80
push eax
lea eax, [esp + 0x70]
push eax
call dword [0x43c564]
movzx eax, byte [edi + 3]
add esp, 0xc
dec eax
je 0x42c363
push 2
pop ecx
sub eax, ecx
je 0x42c20f
dec eax
jne 0x42c28d
cmp dword [esp + 0x40], 0x16
jle 0x42c28d
push 0x10
pop eax
push eax
lea eax, [edi + 4]
mov dword [esp + 0x28], 0x1c
push eax
lea eax, [esp + 0x78]
mov word [esp + 0x70], bp
push eax
call dword [0x43c550]
add esp, 0xc
push 0x14
jmp 0x42c395
mov al, byte [edi + 4]
test al, al
je 0x42c28d
movzx ebp, al
lea eax, [ebp + 7]
cmp dword [esp + 0x40], eax
jle 0x42c28d
push ebp
lea eax, [edi + 5]
push eax
lea eax, [esp + 0x288]
push eax
call dword [0x43c550]
add esp, 0xc
lea eax, [esp + 0x3c]
xor ecx, ecx
mov byte [esp + ebp + 0x280], cl
add ebp, 5
mov dword [esp + 0x30], ebp
push eax
push ecx
push ecx
lea eax, [esp + 0x28c]
mov dword [esp + 0x48], ecx
push eax
call dword [0x43c4e4]
test eax, eax
jne 0x42c28d
mov dl, al
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x42c286
movzx eax, dl
mov eax, dword [esp + eax*4 + 0x54]
cmp dword [ecx + 4], eax
je 0x42c323
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x42c276
inc dl
cmp dl, 2
jb 0x42c267
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x42c4a4
lea edx, [esp + 0xf8]
mov ecx, eax
call fcn.00412969
test al, al
je 0x42c4a4
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x6c]
push eax
xor eax, eax
push eax
mov eax, 0xffff
sub eax, ecx
push eax
lea eax, [ecx + edi]
push eax
push dword [esp + 0x3c]
call dword [0x43c4b4]
mov dword [esp + 0x30], eax
test eax, eax
jg 0x42c2f0
movzx ecx, word [esp + 0x68]
cmp ebp, ecx
jne 0x42c4a4
xor eax, eax
push 0x17
pop ebp
mov word [edi], ax
mov byte [edi + 2], al
inc eax
cmp word [esp + 0x68], bp
push 4
pop edx
cmove eax, edx
mov byte [edi + 3], al
mov eax, dword [esp + 0x18]
cmp eax, ebp
jne 0x42c44c
push 0x10
pop eax
push eax
lea eax, [esp + 0x74]
jmp 0x42c458
mov eax, dword [ecx + 0x10]
push eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x6c]
push dword [ecx + 0x18]
push eax
call dword [0x43c550]
add esp, 0xc
push 0x17
pop ebp
cmp word [esp + 0x68], bp
jne 0x42c353
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x6c], eax
push dword [esp + 0x3c]
call dword [0x43c504]
mov ecx, dword [esp + 0x30]
jmp 0x42c396
cmp dword [esp + 0x40], 0xa
jle 0x42c28d
push 0x10
pop eax
push 2
mov dword [esp + 0x28], eax
pop eax
push 4
mov word [esp + 0x6c], ax
pop eax
push eax
lea eax, [edi + 4]
push eax
lea eax, [esp + 0x74]
push eax
call dword [0x43c550]
add esp, 0xc
push 8
pop ecx
mov ax, word [ecx + edi]
push 2
mov word [esp + 0x6e], ax
pop eax
add ecx, eax
cmp dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x30], ecx
jne 0x42c40d
xor eax, eax
push 0x80
push eax
lea eax, [esp + 0x288]
push eax
call dword [0x43c564]
mov ax, word [esp + 0x74]
lea ecx, [esp + 0x28c]
add esp, 0xc
mov word [esp + 0x280], ax
movzx eax, ax
mov dword [esp + 0x18], eax
call fcn.00412d1d
mov dword [esp + 0x28], eax
cmp eax, 0xffffffff
je 0x42c4f4
cmp dword [esp + 0x18], ebp
push 4
pop eax
push 0x10
pop ecx
cmove eax, ecx
mov ecx, dword [esp + 0x30]
add eax, 6
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x18]
cmp edx, ecx
jle 0x42c291
movzx eax, word [esp + 0x68]
cmp ebp, eax
jne 0x42c291
push dword [esp + 0x24]
lea eax, [esp + 0x6c]
sub edx, ecx
push eax
xor eax, eax
push eax
push edx
lea eax, [ecx + edi]
push eax
push dword [esp + 0x3c]
call dword [0x43c4bc]
jmp 0x42c291
push 2
pop ecx
cmp eax, ecx
jne 0x42c4a7
push edx
lea eax, [esp + 0x70]
push eax
lea eax, [edi + 4]
push eax
call dword [0x43c550]
add esp, 0xc
push 2
pop eax
push eax
lea eax, [esp + 0x6e]
push eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffffe
add eax, edi
push eax
call dword [0x43c550]
add esp, 0xc
lea eax, [esp + 0x200]
push dword [esp + 0x20]
push eax
xor eax, eax
push eax
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x50]
push eax
push edi
push esi
call dword [0x43c4bc]
jmp 0x42c4a7
push 0x17
pop ebp
mov ecx, dword [esp + 0x28]
xor eax, eax
push 2
pop edx
cmp ecx, 0xffffffff
mov dword [esp + 0x104], ecx
mov dword [esp + 0x100], esi
setne al
xor ecx, ecx
add eax, edx
push ecx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x18]
push ecx
mov dword [esp + 0x104], eax
lea eax, [esp + 0x100]
push ecx
push eax
push ecx
call dword [0x43c4e8]
test eax, eax
jg 0x42c08c
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
call fcn.00412d03
jmp 0x42c514
cmp eax, 0xffffffff
jne 0x42c510
mov bl, 1
mov byte [esp + 0x1c], bl
jmp 0x42c514
xor eax, eax
mov bh, al
mov ecx, edi
call fcn.004275f4
mov ecx, dword [esp + 0x38]
jmp 0x42c646
mov bl, 1
jmp 0x42c602
xor eax, eax
mov word [esi + 2], ax
cmp word [esi], bp
jne 0x42c54c
push 0x10
pop eax
push eax
xor eax, eax
push eax
lea eax, [esi + 8]
push eax
call dword [0x43c564]
add esp, 0xc
jmp 0x42c551
xor eax, eax
mov dword [esi + 4], eax
mov ecx, esi
call fcn.00412b23
mov dword [esp + 0x20], eax
cmp eax, 0xffffffff
je 0x42c600
push dword [esp + 0x2c]
xor ecx, ecx
mov edx, eax
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0042bb59
mov edi, eax
cmp edi, 1
jne 0x42c5d5
push ecx
lea eax, [esp + 0x18]
push eax
sub esp, 0xc
lea ecx, [esp + 0x34]
call fcn.00412cd8
mov ecx, dword [esp + 0x20]
mov ebp, eax
call fcn.00412d03
cmp ebp, 0xffffffff
je 0x42c524
mov ecx, ebp
call fcn.00432d18
mov eax, dword [esp + 0x2c]
mov edx, ebp
push 2
pop ecx
or eax, ecx
mov ecx, dword [esp + 0x14]
push eax
xor eax, eax
push eax
call fcn.0042bb59
mov edi, eax
cmp edi, 1
jne 0x42c5d1
mov ecx, dword [esp + 0x14]
mov edx, ebp
call fcn.00412b81
mov ecx, ebp
jmp 0x42c5d9
mov ecx, dword [esp + 0x20]
call fcn.00412d03
cmp edi, 0xffffffff
je 0x42c524
cmp edi, 1
je 0x42c64b
xor eax, eax
mov bh, al
jmp 0x42c64b
mov ecx, esi
call fcn.00412a38
mov edi, eax
cmp edi, 0xffffffff
jne 0x42c608
mov bl, 5
mov byte [esp + 0x1c], bl
jmp 0x42c64b
mov ecx, edi
call fcn.00432d18
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
xor eax, eax
push eax
mov edx, edi
call fcn.0042bb59
cmp eax, 1
jne 0x42c633
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.00412b81
jmp 0x42c644
cmp eax, 0xffffffff
jne 0x42c640
mov bl, 1
mov byte [esp + 0x1c], bl
jmp 0x42c644
xor eax, eax
mov bh, al
mov ecx, edi
call fcn.00412d03
mov ecx, esi
call fcn.004275f4
cmp bh, 1
jne 0x42c674
test bl, bl
je 0x42c674
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
or edx, 0xffffffff
push dword [esp + 0x20]
call fcn.0042bb59
test eax, eax
setne bh
mov al, bh
jmp 0x42bf4a