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

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x24]
push esi
mov esi, eax
mov al, byte [esi + 9]
mov ecx, dword [esi + 4]
push edi
test al, al
jne 0x40ba91
mov edx, ecx
mov edi, dword [edx]
test al, al
jne 0x40ba99
cmp byte [esi + 8], 0
je 0x42c4bb
mov byte [esi + 9], 1
dec dword [esi]
cmp edi, 0xa
je 0x42c9a3
cmp edi, 0x10
je 0x42c9a3
cmp edi, 0x11
je 0x42c9a3
mov ecx, dword [ebp + 4]
cmp ecx, 2
jl 0x42c4d6
cmp edi, 0xf
ja case.0x40ba43.10
jmp dword [edi*4 + 0x40bcc0]
cmp ecx, 1
je 0x42c511
cmp byte [ebp + 0xd], 0
jne 0x42c519
mov eax, dword [ebp + 8]
cmp ecx, 2
je 0x40bb84
cmp byte [ebp + 0xd], 0
mov ecx, dword [ebp + 8]
jne 0x42c524
mov esi, dword [ecx + 0x10]
call fcn.0040bf70
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4
mov edx, dword [ecx + 4]
jmp 0x40b9fd
mov ebx, dword [ecx + 4]
push ecx
call fcn.004112ef
add esp, 4
mov dword [esi + 4], ebx
mov byte [esi + 9], 0
jmp 0x40ba07
cmp ecx, 1
je 0x42c4e0
cmp byte [ebp + 0xd], 0
mov eax, dword [ebp + 8]
je 0x40bac6
mov eax, dword [eax + 0x10]
cmp ecx, 2
jne 0x40bb6c
mov ecx, dword [ebp]
call fcn.0040b910
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4
cmp ecx, 1
je 0x42c52f
cmp byte [ebp + 0xd], 0
mov edx, dword [ebp + 8]
jne 0x42c537
cmp ecx, 2
je 0x40bbe5
cmp byte [ebp + 0xd], 0
mov eax, dword [ebp + 8]
jne 0x42c53f
mov eax, dword [eax + 0x10]
push edx
call fcn.0040bee0
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4
cmp ecx, 1
je 0x42c54a
cmp byte [ebp + 0xd], 0
jne 0x42c552
mov edi, dword [ebp + 8]
cmp ecx, 2
jne 0x42c55d
mov esi, dword [ebp]
call fcn.0040c110
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4
cmp byte [ebp + 0xd], 0
mov ecx, dword [ebp + 8]
je 0x42c4e8
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + 0x10]
jmp 0x40bad2
mov esi, dword [ebp]
jmp 0x40ba79
cmp ecx, 1
je 0x42c627
cmp byte [ebp + 0xd], 0
jne 0x42c62f
mov esi, dword [ebp + 8]
mov eax, ebp
call fcn.0040c600
mov ecx, eax
mov eax, esi
call fcn.0040cc10
test al, al
je 0x42c63a
mov eax, ebp
call fcn.0040c600
mov esi, eax
call fcn.004092c0
mov dword [esi + 8], 9
mov byte [esi], 1
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4
mov eax, dword [ebp]
jmp 0x40bb19
mov eax, ebp
call fcn.0040d260
push eax
mov eax, ebp
call fcn.0040c600
mov ecx, eax
call fcn.0040cfc0
add esp, 4
test al, al
mov eax, ebp
je 0x42c60d
call fcn.0040c600
mov esi, eax
call fcn.004092c0
mov dword [esi + 8], 9
mov byte [esi], 1
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4
mov eax, ebp
call fcn.0040d260
mov edi, eax
mov eax, ebp
call fcn.0040c600
mov esi, eax
mov eax, edi
call fcn.0040c770
test al, al
mov eax, ebp
jne 0x40bcad
call fcn.0040c600
mov esi, eax
call fcn.004092c0
mov byte [esi], 0
mov edi, ebp
mov dword [esi + 8], 9
call fcn.0040bd00
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret 4
mov eax, ebp
call fcn.0040d260
mov esi, eax
mov eax, ebp
call fcn.0040c600
call fcn.0040c770
test al, al
mov eax, ebp
je 0x40bc58
call fcn.0040c600
mov esi, eax
call fcn.004092c0
mov byte [esi], 1
jmp 0x40bc67
call fcn.0040c600
mov esi, eax
call fcn.004092c0
mov byte [esi], 1
jmp 0x40bc67
les eax, [ecx + eax*4]
test dword [ecx - 0x7effffe7], 0x2fe0f7
add byte [ecx + 0x88aac7], al
add byte [edi + 0x64], bl
mov ecx, dword [0x18]
add byte [eax], al
loopne 0x42c511
add byte [eax], al
add byte [eax], al
add byte [eax], al
invalid
add byte [ebx + 0x53], bl
add byte [eax], al
mov es, word [eax]
add byte [ebx + 0x56], bl
in al, 0
add byte [esi + 0x57], bl
inc ebp
inc esi
inc eax
dec esi
push eax
inc dword [eax]
invalid
push esi
add esi, 0xf85
pop esi
push esi
push esi
add esp, 4
or esi, 0x10bc0
pop esi
push edi
and edi, 0xd96f
sub edi, 0x150c5
call fcn.0042c5f3
add byte [esi + 0x45], al
xchg ebp, eax
mov al, byte [0x33fffff3]
shl byte [esi - 0x77], 0x85
hlt
push ecx
push ecx
add esp, 4
add ecx, 0x11060
add ecx, 0x97ad
shl dword [eax + 0x10], 1
add byte [ecx + 0x97adc1], al
add byte [ecx + 0x165f8e1], al
add byte [ecx + 0xd604f1], al
add byte [ecx + 0x52], bl
xchg edi, eax
add byte [eax], al
and ecx, 0x165f8
xor ecx, 0xd604
add al, 0xd6
add byte [eax], al
pop ecx
push edx
add edx, 0x15379
xor edx, 0x13e1b
sub edx, 0x8461
pop edx
mov edx, dword [ebp - 0xc60]
invalid
invalid
jmp dword [esi - 0x75]
add ah, byte [esi - 0x77]
test dword [esi - 0x10], ebp
invalid
dec dword [ebx - 0xc5f73]
inc dword [ebx - 0x7276fd3f]
mov al, byte [0x66fffff3]
mov edx, dword [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
rcl byte [eax - 0x7f], 0xf0
int1
xchg ebp, eax
add byte [eax], al
invalid
rcl byte [eax - 0x7f], 0xf0
int1
xchg ebp, eax
add byte [eax], al
jmp 0x42c6ba
sub eax, 0x115c9
call 0x42c6cc
add byte [edx], bh
inc eax
dec ebx
dec edi
dec ecx
dec esp
add esp, 4
pop eax
push ebx
push ebx
add esp, 4
xor ebx, 0xb1e3
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x42c6f9
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x42c753
mov bh, 0x95
hlt
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
dec dword [edi]
mov bh, 0x55
sar byte [ebx], 0xca
je 0x42c621
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x42c621
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x42c73d
xchg ebp, eax
hlt
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x42c747
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x42c79c
push edx
and edx, 0x10da5
or edx, 0xe8c7
pop edx
push eax
push edx
add esp, 4
add eax, 0x6505
pop eax
push eax
push edx
add esp, 4
call 0x42c78a
add byte [ebx + 0x4a], cl
inc edi
push eax
dec ecx
cmp edi, dword [edi]
inc edi
dec esi
add esp, 4
pop eax
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x42c804
push esi
jmp 0x42c7a5
sub esi, 0x1713a
call 0x42c7b7
add byte [edx + 0x4c], al
xor bh, byte ds:[ecx]
aaa
add esp, 4
call 0x42c7ca
add byte [ebx], dh
inc ebp
inc edi
xor al, 0x3d
inc eax
xor al, 0x40
cmp eax, dword [edx - 0x7d]
les eax, [esi + ebx*2]
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x42c7fa
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x42c5c5
mov dword [ebp - 0x2a8], 0
cld
cld
invalid