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

Disassembly:
add esp, 4
xor ebx, 0x10999
pop ebx
cmp dword [ebp - 0x1574], 0
jne 0x40b4ea
mov dword [ebp - 0x2a8], 0
jmp 0x40b791
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push edx
call 0x40b50d
add byte [0x493e4d46], dh
xor edi, dword ds:[ebx]
dec edx
inc ecx
add esp, 4
sub edx, 0xc4b1
or edx, 0x3c01
call 0x40b52a
add byte [edx], bh
xor bh, byte [eax]
inc edx
cmp eax, 0x834f343f
les eax, [edx + ebx*2]
cmp dword [ebp - 0xc68], 0
jne 0x40b546
mov dword [ebp - 0x2a8], 0
jmp 0x40b791
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push ecx
push edx
add esp, 4
sub ecx, 0xa2da
or ecx, 0xbb72
pop ecx
push esi
push edx
add esp, 4
or esi, 0x2b6e
xor esi, 0x6bba
xor esi, 0xa2fb
pop esi
push ebx
or ebx, 0x542c
pop ebx
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push eax
push ebx
add esp, 4
call 0x40b5c0
add byte [ecx + 0x36], cl
dec ebx
inc edx
cmp dword [ebx + 0x49], ecx
add esp, 4
sub eax, 0x4cb9
or eax, 0x153dd
call 0x40b5dc
add byte [esi + 0x3a], cl
inc esi
aaa
inc eax
dec edi
add esp, 4
pop eax
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [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
push ebx
call 0x40b646
add byte [eax + 0x45], dl
xor dh, byte [ebx]
dec edx
cmp eax, 0xc4833e39
add al, 0x81
add bl, byte [esi]
add byte [ecx + 0x1199acb], al
add byte [ebx + 0x51], bl
jmp 0x40b65c
sub ecx, 0x47d7
and ecx, 0xb05f
pop ecx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40b686
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x40b6e0
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x40b5ae
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x40b5ae
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x40b6ca
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x40b6d4
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x40b729
push ecx
sub ecx, 0xe9b3
call 0x40b6ff
add byte [ebx + 0x3e], al
inc ebx
inc edx
cmp dword [ebp + 0x4b], eax
cmp byte [edx], dh
add esp, 4
xor ecx, 0x137ed
pop ecx
push ebx
push edx
add esp, 4
and ebx, 0x17983
or ebx, 0xd89f
pop ebx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x40b791
push eax
sub eax, 0x16208
and eax, 0xb1bd
pop eax
push edi
push edx
add esp, 4
call 0x40b748
add byte [eax + ecx*2 + 0x44], al
cmp al, byte [esi + 0x46]
add esp, 4
jmp 0x40b754
and edi, 0x4cf2
pop edi
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 0x40b787
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x40b552
mov dword [ebp - 0x2a8], 0
push ebx
push esi
add esp, 4
xor ebx, 0x15265
or ebx, 0xbf99
pop ebx
push eax
call 0x40b7b1
add byte [esi], bh
inc esi
inc ecx
cmp eax, 0x834e434d
les eax, [eax + ebx*2]
push ecx
sub ecx, 0x144cd
and ecx, 0x948f
pop ecx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ecx
push edx
add esp, 4
jmp 0x40b7e0
pop ecx
push edi
push edx
add esp, 4
and edi, 0x10db0
pop edi
push edx
push ecx
add esp, 4
call 0x40b800
add byte [edi + 0x4b], al
inc edx
xor eax, 0x504a483b
add esp, 4
pop edx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x40b834
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40bb25
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x40b85c
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40bb25
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x40b88e
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x40bb25
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x40b8b3
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x40bb25
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x40b90d
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x40bb19
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x40b97d
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40ba2f
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x40ba2f
push edi
or edi, 0xf3a1
pop edi
push esi
push ecx
add esp, 4
add esi, 0x17f66
pop esi
push eax
push edi
add esp, 4
sub eax, 0x1af4
and eax, 0x5c52
sub eax, 0x6b0e
and eax, 0x7f05
pop eax
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x40ba21
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x40ba28
jmp 0x40b96e
jmp 0x40ba2f
push ebx
push eax
add esp, 4
jmp 0x40ba3c
pop ebx
push ebx
push edi
add esp, 4
or ebx, 0x7735
and ebx, 0x208c
add ebx, 0xd786
pop ebx
push ebx
push eax
add esp, 4
and ebx, 0x10433
pop ebx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x40ba8e
mov dword [ebp - 0xc6c], 0
jmp 0x40bafd
push esi
xor esi, 0xf56f
pop esi
push ebx
xor ebx, 0x17b5f
or ebx, 0x12c3c
and ebx, 0xc959
xor ebx, 0xbc3e
pop ebx
push ebx
sub ebx, 0x93d3
pop ebx
push edx
add edx, 0x644a
pop edx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x40baf3
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x40bafd
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x40bb14
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x40bb25
jmp 0x40b8fe
mov eax, dword [ebp - 0x730]
invalid