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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
push edi
mov edi, ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov eax, dword [eax]
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x70]
push ecx
push eax
push edi
mov dword [esp + 0x2c], edi
call fcn.0042b444
test al, al
jne 0x42b4ed
push dword [ebp + 0x10]
mov eax, esi
mov ecx, ebx
mov edx, edi
call fcn.0042bb87
jmp 0x42bb7e
mov eax, dword [esi]
mov edx, dword [edi + 0x240]
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
movsx ecx, word [ecx + 0xa]
xor edi, edi
inc eax
mov dword [esi], eax
mov dword [esp + 0x7c], edx
mov edx, dword [ebx + 4]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], edi
mov edx, dword [edx + eax*4]
cmp word [edx + 8], 0x47
mov dword [esp + 0x78], ecx
mov dword [esp + 0x4c], 0x46be08
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], edi
je 0x42b549
push ecx
push 0x6f
jmp 0x42bb60
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov eax, esi
lea edx, [esp + 0x20]
mov esi, ebx
call fcn.0042b3e6
test eax, eax
jne 0x42bb69
mov eax, dword [esp + 0x64]
call fcn.004091ea
cmp dword [esp + 0x30], edi
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edi
jle 0x42b755
cmp ecx, dword [esp + 0x1c]
jae 0x42b755
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
mov eax, dword [eax + 4]
inc dword [esp + 0x2c]
lea eax, [eax + esi*4]
mov esi, dword [eax]
xor dl, dl
cmp word [esi + 8], di
mov dword [esp + 0x34], edi
jne 0x42b6a0
mov esi, eax
mov eax, dword [esi]
mov eax, dword [eax]
cmp eax, 0x23
jne 0x42b5d7
mov dl, 1
jmp 0x42b5e8
cmp eax, 0x1e
jne 0x42b7f2
mov dword [esp + 0x34], 0x100
inc dword [esp + 0x10]
add esi, 4
mov eax, dword [esi]
cmp word [eax + 8], di
je 0x42b5ca
test dl, dl
je 0x42b6a0
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x33
jne 0x42b7fe
mov edi, dword [eax]
lea ecx, [esp + 0x5c]
push ecx
xor ecx, ecx
lea esi, [esp + 0x64]
call fcn.0040fb07
test al, al
je 0x42b80b
mov eax, 0x100
test dword [esp + 0x60], eax
je 0x42b63f
test dword [esp + 0x34], eax
je 0x42b821
inc dword [esp + 0x18]
mov esi, dword [esp + 0x5c]
inc dword [esp + 0x10]
cmp dword [esi + 8], 5
jne 0x42b683
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x4e
jne 0x42b683
call fcn.00411e36
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x20]
mov ecx, ebx
call fcn.0042f3bd
test eax, eax
jne 0x42bb69
push dword [esp + 0x5c]
lea esi, [esp + 0x3c]
call fcn.00412c36
mov eax, esi
push eax
lea esi, [esp + 0x50]
call fcn.00410cdb
xor edi, edi
jmp 0x42b6fc
push edi
lea esi, [esp + 0x3c]
call fcn.00412534
mov eax, esi
push eax
lea esi, [esp + 0x50]
call fcn.00410cdb
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov eax, dword [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.004302e3
test eax, eax
jne 0x42bb69
inc dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x41
jne 0x42b6fc
add dword [esp + 0x10], 2
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x1c]
je 0x42b755
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x40
jne 0x42b83a
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x1c]
je 0x42b83a
mov edx, dword [esp + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + edx*4]
cmp word [eax + 8], 0x40
jne 0x42b743
inc dword [esp + 0x10]
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x30]
jl 0x42b59a
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x8c]
jl 0x42bb5a
cmp eax, dword [esp + 0x30]
jg 0x42bb5a
cmp ecx, dword [esp + 0x1c]
jne 0x42bb5a
push 3
pop ebx
call fcn.0040fb64
xor ecx, ecx
inc ecx
cmp dword [esp + 0x30], ecx
mov dword [esp + 0x24], ecx
jl 0x42b8e6
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
or word [esp + 0x88], 0xffff
mov dword [esp + 0x68], 0x46b658
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x34], edi
lea ecx, [eax + ebx*4]
mov esi, dword [ecx]
cmp word [esi + 8], 0
mov word [esp + 0x8a], di
mov byte [esp + 0x23], 0
jne 0x42b97e
mov esi, ecx
mov ecx, dword [esi]
mov ecx, dword [ecx]
cmp ecx, 0x23
jne 0x42b84a
mov byte [esp + 0x23], 1
jmp 0x42b854
push 0xffffffffffffffff
push 0x91
jmp 0x42bb60
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
jmp 0x42b7f4
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
push 0x79
jmp 0x42bb60
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
push 0xb0
jmp 0x42bb60
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
movsx eax, word [eax + 0xa]
push eax
jmp 0x42b542
cmp ecx, 0x1e
jne 0x42b858
mov edi, 0x100
inc ebx
add esi, 4
mov ecx, dword [esi]
cmp word [ecx + 8], 0
je 0x42b7e2
cmp byte [esp + 0x23], 0
je 0x42b97e
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp dword [ecx + 8], 6
jne 0x42b87c
mov ecx, dword [ecx]
jmp 0x42b87e
xor ecx, ecx
cmp dword [0x47f048], 0
mov eax, dword [eax + ebx*4]
mov esi, dword [eax]
je 0x42ba9a
test ecx, ecx
je 0x42ba9a
push ecx
mov eax, 0x47f048
or edi, 0x200
call fcn.0042eca0
push eax
mov eax, edi
mov ecx, esi
call fcn.00411a23
inc ebx
inc ebx
lea ecx, [esp + 0x80]
call fcn.00411746
lea ecx, [esp + 0x68]
call fcn.00409094
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], 4
xor edi, edi
cmp eax, dword [esp + 0x30]
jle 0x42b79b
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x90], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xac], edi
lea edi, [eax + 0x220]
lea esi, [esp + 0x90]
mov dword [eax + 0x240], edx
mov dword [esp + 0x98], ecx
mov byte [esp + 0xa0], 0
mov byte [esp + 0xa8], 0
mov byte [esp + 0xb0], 0
call fcn.0041c466
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
push 0
inc eax
push eax
call fcn.0041c0b1
mov eax, edi
call fcn.0041c534
cmp byte [eax + 0x10], 0
mov eax, dword [ebp + 0x14]
je 0x42baca
mov byte [eax], 1
mov eax, edi
call fcn.0041c534
mov ebx, dword [ebp + 0x10]
push eax
call fcn.00412380
jmp 0x42bad7
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x2c]
jle 0x42ba45
lea esi, [esp + 0x68]
call fcn.00409127
mov eax, dword [esp + 0x28]
and dword [esp + 0x34], 0
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx*4 + 8]
movzx ecx, word [eax + 8]
cmp cx, 0x4a
je 0x42b9b8
cmp cx, 0x49
je 0x42b9b8
push eax
jmp 0x42b9cd
push eax
lea esi, [esp + 0x6c]
call fcn.004090ad
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
push dword [eax + ebx*4 + 0xc]
lea esi, [esp + 0x6c]
call fcn.004090ad
push 0x7f
lea esi, [esp + 0x84]
call fcn.004117ad
mov eax, esi
push eax
lea esi, [esp + 0x6c]
call fcn.004090ad
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffff
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, esi
push eax
call fcn.004302e3
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov eax, dword [eax + ebx*4]
mov esi, dword [eax]
or edi, 0x200
cmp dword [0x47f048], 0
lea eax, [esp + 0x38]
push eax
jne 0x42ba2f
push 0x47f044
jmp 0x42ba3a
mov eax, 0x47f048
call fcn.0042eca0
push eax
mov eax, edi
mov ecx, esi
call fcn.0041199e
jmp 0x42ba60
mov edx, dword [eax + ebx*4]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
mov esi, edi
mov edi, dword [edx]
xor eax, eax
or esi, 0x200
inc eax
call fcn.0040fad3
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx*4 + 4]
cmp word [ecx + 8], 0x41
jne 0x42b8b3
mov eax, dword [eax + ebx*4 + 8]
movzx eax, word [eax + 8]
cmp ax, 0x4a
je 0x42ba92
cmp ax, 0x49
je 0x42ba92
add ebx, 4
jmp 0x42b8b5
add ebx, 5
jmp 0x42b8b5
mov eax, dword [edx + 4]
mov eax, dword [eax + ebx*4]
movsx eax, word [eax + 0xa]
mov ebx, dword [esp + 0x14]
push eax
push 0x79
call fcn.0041ab66
lea ecx, [esp + 0x80]
call fcn.00411746
lea ecx, [esp + 0x68]
call fcn.00409094
jmp 0x42bb69
mov esi, dword [ebp + 0x10]
push 0
mov byte [eax], 0
call fcn.00412534
mov eax, edi
call fcn.0041c534
cmp byte [eax + 0x18], 0
je 0x42baee
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xa4], ecx
cmp byte [eax + 0x20], 0
je 0x42bafe
mov eax, dword [eax + 0x1c]
mov dword [esp + 0xac], eax
mov esi, edi
call fcn.0041c4dd
mov esi, dword [esp + 0x14]
push 0
push dword [esp + 0xa8]
mov eax, esi
call fcn.0041c3a1
push 0
push dword [esp + 0xb0]
mov eax, esi
call fcn.0041c3d4
call fcn.0040fbbc
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x90]
mov dword [esi + 0x240], eax
call fcn.00411ee4
lea ecx, [esp + 0x38]
call fcn.00411ee4
lea ecx, [esp + 0x4c]
call fcn.00410cc2
xor eax, eax
jmp 0x42bb7e
push dword [esp + 0x78]
push 0x70
mov ebx, dword [esp + 0x1c]
call fcn.0041ab66
lea ecx, [esp + 0x38]
call fcn.00411ee4
lea ecx, [esp + 0x4c]
call fcn.00410cc2
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10