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

Disassembly:
sub esp, 0x70
xor eax, eax
push ebx
push ebp
push esi
push edi
mov ebp, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov byte [esp + 0x64], al
mov byte [esp + 0x65], al
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov byte [esp + 0x58], al
mov byte [esp + 0x59], al
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov byte [esp + 0x4c], al
mov byte [esp + 0x4d], al
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov byte [esp + 0x7c], al
mov byte [esp + 0x7d], al
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov byte [esp + 0x40], al
mov byte [esp + 0x41], al
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov byte [esp + 0x70], al
mov byte [esp + 0x71], al
mov dword [esp + 0x10], eax
mov edi, edi
cmp ebp, dword [0x4a043c]
jg 0x40f224
test ebp, ebp
jle 0x40f224
mov ebx, ebp
shl ebx, 4
add ebx, dword [0x4a0470]
test ebx, ebx
je 0x40f283
inc ebp
lea eax, [ebp - 1]
mov dword [0x49f6f4], eax
mov edx, dword [ebx + 4]
mov eax, dword [edx]
movzx esi, word [eax + 8]
xor ecx, ecx
mov dword [esp + 0x30], 0
cmp si, 0x7f
je 0x40f0a3
mov eax, edx
jmp 0x40f090
mov edi, dword [eax + 4]
add eax, 4
inc ecx
cmp word [edi + 8], 0x7f
jne 0x40f090
test ecx, ecx
jbe 0x40f0a3
dec ecx
test si, si
jne case.0x42b32a.25
mov esi, dword [edx]
mov eax, dword [esi]
cmp eax, 4
je 0x40f130
cmp eax, 0xd
je 0x40f201
cmp eax, 0xe
je 0x40f1ac
cmp eax, 8
je 0x40f22b
sub eax, 5
cmp eax, 0x1b
ja case.0x42b32a.25
movzx ecx, byte [eax + 0x40f454]
jmp dword [ecx*4 + 0x40f414]
mov ecx, dword [edx + 4]
cmp word [ecx + 8], 0x7f
jne 0x42b370
sub dword [esp + 0x2c], 1
jne 0x42b424
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
call fcn.0040fb40
test eax, eax
je case.0x42b32a.25
jmp 0x42b390
mov edi, dword [esp + 0x30]
xor eax, eax
test ax, ax
je 0x40f153
mov esi, dword [edx + edi*4 + 4]
movzx eax, word [esi + 8]
inc edi
mov dword [esp + 0x30], edi
cmp ax, 0x7f
jne 0x40f136
jmp 0x42b45a
cmp dword [esi], 5
jne 0x40f13b
mov ecx, dword [edx + ecx*4]
cmp word [ecx + 8], 0
jne 0x40f185
cmp dword [ecx], 5
jne 0x40f185
mov eax, dword [esp + 0x10]
inc dword [esp + 0x14]
mov dword [esp + 0x34], eax
inc eax
lea edi, [esp + 0x34]
lea esi, [esp + 0x50]
mov dword [esp + 0x10], eax
call fcn.0040f470
mov ecx, dword [esp + 0x30]
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4 + 4]
inc ecx
cmp word [eax + 8], 0
jne case.0x42b32a.25
mov eax, dword [eax]
cmp eax, 0x22
je case.0x42b32a.25
jmp 0x42b317
mov ecx, dword [edx + 4]
cmp word [ecx + 8], 0x7f
jne 0x42b370
dec dword [esp + 0x1c]
dec dword [esp + 0x10]
cmp dword [esp + 0x38], 0
je 0x42b301
cmp byte [esp + 0x41], 0
jne 0x42b30b
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
lea esi, [esp + 0x38]
call fcn.0040f4b0
cmp dword [esp + 0x1c], 0
jl 0x42b44e
cmp dword [esp + 0x10], edi
je case.0x42b32a.25
jmp 0x42b44e
mov eax, dword [esp + 0x10]
inc dword [esp + 0x1c]
mov dword [esp + 0x30], eax
inc eax
lea edi, [esp + 0x30]
lea esi, [esp + 0x38]
mov dword [esp + 0x10], eax
call fcn.0040f470
jmp case.0x42b32a.25
xor ebx, ebx
jmp 0x40f05f
mov edx, dword [edx + 4]
cmp word [edx + 8], 0x7f
jne 0x42b35e
mov ebx, dword [esp + 0x10]
dec dword [esp + 0x14]
dec ebx
cmp dword [esp + 0x50], 0
mov dword [esp + 0x10], ebx
je 0x42b2f1
cmp byte [esp + 0x59], 0
mov eax, dword [esp + 0x54]
jne 0x42b2f9
mov edi, dword [eax]
lea esi, [esp + 0x50]
call fcn.0040f4b0
cmp dword [esp + 0x14], 0
jl 0x42b445
cmp ebx, edi
je case.0x42b32a.25
jmp 0x42b445
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
push eax
push ecx
push 0
call fcn.0040fb40
test eax, eax
jne 0x42b390
cmp dword [esp + 0x2c], eax
jne 0x42b424
lea eax, [esp + 0x68]
call fcn.00401030
lea eax, [esp + 0x38]
call fcn.00401030
lea eax, [esp + 0x74]
call fcn.00401030
lea eax, [esp + 0x44]
call fcn.00401030
lea eax, [esp + 0x50]
call fcn.00401030
lea eax, [esp + 0x5c]
call fcn.00401030
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret
mov eax, dword [esp + 0x2c]
inc eax
cmp eax, 1
jg 0x42b424
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
push edx
push eax
jmp 0x40f10e
mov edx, dword [edx + 4]
cmp word [edx + 8], 0x7f
jne 0x42b35e
mov eax, dword [esp + 0x10]
inc dword [esp + 0x18]
mov dword [esp + 0x30], eax
inc eax
lea edi, [esp + 0x30]
lea esi, [esp + 0x68]
mov dword [esp + 0x10], eax
call fcn.0040f470
jmp case.0x42b32a.25
mov eax, dword [esp + 0x10]
inc dword [esp + 0x20]
mov dword [esp + 0x30], eax
inc eax
lea edi, [esp + 0x30]
lea esi, [esp + 0x74]
mov dword [esp + 0x10], eax
call fcn.0040f470
jmp case.0x42b32a.25
mov ebx, dword [esp + 0x10]
dec dword [esp + 0x18]
dec ebx
lea eax, [esp + 0x68]
mov dword [esp + 0x10], ebx
call fcn.00411d60
test al, al
jne 0x42b197
lea eax, [esp + 0x68]
call fcn.00411d70
mov edi, dword [eax]
lea esi, [esp + 0x68]
call fcn.0040f4b0
cmp dword [esp + 0x18], 0
jl 0x42b430
cmp ebx, edi
je case.0x42b32a.25
jmp 0x42b430
mov ecx, dword [edx + 4]
cmp word [ecx + 8], 0x7f
jne 0x42b370
mov ebx, dword [esp + 0x10]
dec dword [esp + 0x20]
dec ebx
lea eax, [esp + 0x74]
mov dword [esp + 0x10], ebx
call fcn.00411d60
test al, al
jne 0x42b19f
lea eax, [esp + 0x74]
call fcn.00411d70
mov edi, dword [eax]
lea esi, [esp + 0x74]
call fcn.0040f4b0
cmp dword [esp + 0x20], 0
jl 0x42b43c
cmp ebx, edi
je case.0x42b32a.25
jmp 0x42b43c
mov eax, dword [edx + 4]
cmp word [eax + 8], 0x7f
jne 0x42b3d0
mov eax, dword [esp + 0x10]
mov ecx, 1
add dword [esp + 0x28], ecx
mov dword [esp + 0x30], eax
add eax, ecx
lea edi, [esp + 0x30]
lea esi, [esp + 0x44]
mov dword [esp + 0x10], eax
call fcn.0040f470
jmp case.0x42b32a.25
mov eax, dword [esp + 0x10]
mov ecx, 1
add dword [esp + 0x24], ecx
mov dword [esp + 0x30], eax
add eax, ecx
lea edi, [esp + 0x30]
lea esi, [esp + 0x5c]
mov dword [esp + 0x10], eax
call fcn.0040f470
jmp case.0x42b32a.25
lea edi, [ebx + 1]
jmp 0x40f3a2
lea edi, [ebx + 1]
jmp 0x40f3fa
mov edx, dword [edx + 4]
cmp word [edx + 8], 0x7f
jne 0x42b35e
mov ebx, dword [esp + 0x10]
dec dword [esp + 0x28]
dec ebx
lea eax, [esp + 0x44]
mov dword [esp + 0x10], ebx
call fcn.00411d60
test al, al
je 0x42b1db
lea edi, [ebx + 1]
jmp 0x42b1ef
lea eax, [esp + 0x44]
call fcn.00411d70
mov edi, dword [eax]
lea esi, [esp + 0x44]
call fcn.0040f4b0
cmp dword [esp + 0x28], 0
jl 0x42b202
cmp ebx, edi
je case.0x42b32a.25
push 0xffffffffffffffff
push 0x99
jmp 0x42b386
mov eax, dword [edx + 4]
cmp word [eax + 8], 0x7f
jne 0x42b370
mov ebx, dword [esp + 0x10]
dec dword [esp + 0x24]
dec ebx
lea eax, [esp + 0x5c]
mov dword [esp + 0x10], ebx
call fcn.00411d60
test al, al
je 0x42b242
lea edi, [ebx + 1]
jmp 0x42b256
lea eax, [esp + 0x5c]
call fcn.00411d70
mov edi, dword [eax]
lea esi, [esp + 0x5c]
call fcn.0040f4b0
cmp dword [esp + 0x24], 0
jl 0x42b269
cmp ebx, edi
je case.0x42b32a.25
push 0xffffffffffffffff
push 0xb3
jmp 0x42b386
lea eax, [esp + 0x44]
call fcn.00411d60
test al, al
jne 0x42b29c
lea eax, [esp + 0x44]
call fcn.00411d70
mov ecx, dword [esp + 0x10]
dec ecx
cmp ecx, dword [eax]
je case.0x42b32a.25
lea eax, [esp + 0x5c]
call fcn.00411d60
test al, al
jne 0x42b2c3
lea eax, [esp + 0x5c]
call fcn.00411d70
mov edx, dword [esp + 0x10]
dec edx
cmp edx, dword [eax]
je case.0x42b32a.25
push 0xffffffffffffffff
push 0x98
jmp 0x42b386
mov eax, dword [edx + 4]
cmp word [eax + 8], 0x7f
jne 0x42b370
cmp dword [esp + 0x14], 0
jne case.0x42b32a.25
push 0xffffffffffffffff
push 0x74
jmp 0x42b386
lea edi, [ebx + 1]
jmp 0x40f26b
mov eax, dword [eax + 4]
jmp 0x40f260
mov edi, dword [esp + 0x10]
inc edi
jmp 0x40f1e7
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
jmp 0x40f1dc
sub eax, 0x12
cmp eax, 0xf
ja case.0x42b32a.20
movzx edx, byte [eax + 0x42b487]
jmp dword [edx*4 + 0x42b47b]
cmp dword [esp + 0x18], 0
jne case.0x42b32a.25
cmp dword [esp + 0x20], 0
jne case.0x42b32a.25
cmp dword [esp + 0x1c], 0
jne case.0x42b32a.25
push 0xffffffffffffffff
push 0x96
jmp 0x42b386
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 4]
movsx edx, word [ecx + 0xa]
push edx
push 0x72
jmp 0x42b386
mov ecx, dword [edx + 4]
movsx edx, word [ecx + 0xa]
push edx
push 0x72
jmp 0x42b386
push 0xffffffffffffffff
push 0x81
push 0x49f660
call fcn.004539d8
lea eax, [esp + 0x68]
call fcn.00401030
lea eax, [esp + 0x38]
call fcn.00401030
lea eax, [esp + 0x74]
call fcn.00401030
lea eax, [esp + 0x44]
call fcn.00401030
lea eax, [esp + 0x50]
call fcn.00401030
lea eax, [esp + 0x5c]
call fcn.00401030
mov eax, 1
jmp 0x40f2ee
mov ecx, dword [edx + 4]
movsx edx, word [ecx + 0xa]
push edx
push 0x72
push 0x49f660
call fcn.004539d8
lea eax, [esp + 0x68]
call fcn.00401030
lea eax, [esp + 0x38]
call fcn.00401030
lea eax, [esp + 0x74]
call fcn.00401030
lea eax, [esp + 0x44]
call fcn.00401030
lea eax, [esp + 0x50]
call fcn.00401030
lea eax, [esp + 0x5c]
call fcn.00401030
mov eax, 1
jmp 0x40f2ee
push 0xffffffffffffffff
push 0x83
jmp 0x42b386
push 0xffffffffffffffff
push 0x93
jmp 0x42b386
push 0xffffffffffffffff
push 0x78
jmp 0x42b386
push 0xffffffffffffffff
push 0x75
jmp 0x42b386
push 0xffffffffffffffff
push 0x95
jmp 0x42b386
push 0xffffffffffffffff
push 0xa1
jmp 0x42b386
mov eax, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
movsx edx, word [ecx + 0xa]
push edx
push 0x9f
jmp 0x42b386