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

Disassembly:
xor edx, 0xfd7
sub edx, 0x420f
add edx, 0x115b1
pop edx
cmp dword [ebp - 0xcd4], 0
mov ebp, 0xfffff32c
add byte [ebp + 0xf], dh
mov dword [ebp - 0x300], 0
jmp 0x4083ba
mov edx, dword [ebp - 0xcd4]
mov dword [ebp - 0x510], edx
push ecx
and ecx, 0xf874
add ecx, 0x6af7
jmp 0x408190
xor ecx, 0xc3e1
pop ecx
push edx
xor edx, 0x6d0a
pop edx
push edi
or edi, 0x7b84
sub edi, 0x302c
pop edi
lea eax, [ebp - 0x173c]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0x510]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xccc], edx
xor eax, eax
mov word [ebp - 0x238], ax
xor ecx, ecx
mov word [ebp - 0x4c], cx
push ebx
push edi
add esp, 4
or ebx, 0xba20
or ebx, 0xdf14
xor ebx, 0xa41e
xor ebx, 0x16bbf
pop ebx
push edi
sub edi, 0x881e
pop edi
push esi
push esi
add esp, 4
xor esi, 0x448c
pop esi
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x104e], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x104e]
mov word [ebp - 0x238], dx
mov eax, dword [ebp - 0xcd0]
mov cx, word [eax]
mov word [ebp - 0x1050], cx
mov edx, dword [ebp - 0xcd0]
add edx, 2
mov dword [ebp - 0xcd0], edx
mov ax, word [ebp - 0x1050]
mov word [ebp - 0x4c], ax
push esi
or esi, 0x7293
jmp 0x40826e
sub esi, 0x17094
jmp 0x40827d
pop esi
push ecx
push edx
add esp, 4
or ecx, 0x9ecf
pop ecx
push ecx
sub ecx, 0x7eb5
pop ecx
movzx ecx, word [ebp - 0x4c]
test ecx, ecx
jne 0x4082af
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x4c]
sub edx, eax
mov dword [ebp - 0x1618], edx
jmp 0x408309
movzx ecx, word [ebp - 0x238]
movzx edx, word [ebp - 0x4c]
cmp ecx, edx
je 0x4081d7
movzx eax, word [ebp - 0x238]
xor eax, 0x20
movzx ecx, word [ebp - 0x4c]
cmp eax, ecx
je 0x4081d7
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x4c]
cmp edx, eax
jge 0x4082f3
mov dword [ebp - 0x1614], 0xffffffff
jmp 0x4082fd
mov dword [ebp - 0x1614], 1
mov ecx, dword [ebp - 0x1614]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x408352
push edi
push edx
add esp, 4
or edi, 0x139f2
pop edi
push ebx
add ebx, 0x567f
sub ebx, 0x4f34
or ebx, 0x13e44
call 0x408340
add byte [edi], dh
cmp byte [edx], bh
inc esp
dec esi
inc edx
cmp dword [edi], esi
dec ebp
add esp, 4
pop ebx
mov edx, dword [ebp - 0x510]
mov dword [ebp - 0x300], edx
jmp 0x4083ba
push esi
and esi, 0x11dfd
and esi, 0x110f
add esi, 0xc05f
jmp 0x40836a
pop esi
push edx
jmp 0x408371
or edx, 0x15bca
xor edx, 0x149e7
and edx, 0xcb2e
pop edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
cmp edx, dword [ebp - 0xcd4]
je 0x4083b0
mov eax, dword [ebp - 0x510]
cmp dword [eax + 0x30], 0
jne 0x40817b
mov dword [ebp - 0x300], 0
push esi
sub esi, 0x1738f
xor esi, 0x147a3
sub esi, 0x135b1
or esi, 0x1813
pop esi
push edi
push ebx
add esp, 4
sub edi, 0x13e60
or edi, 0x182ab
xor edi, 0x4c73
pop edi
cmp dword [ebp - 0x300], 0
jne 0x408cbf
mov ecx, 0x6b
mov word [ebp - 0x1794], cx
mov edx, 0x65
mov word [ebp - 0x1792], dx
mov eax, 0x72
mov word [ebp - 0x1790], ax
mov ecx, 0x6e
mov word [ebp - 0x178e], cx
mov edx, 0x65
mov word [ebp - 0x178c], dx
mov eax, 0x6c
mov word [ebp - 0x178a], ax
mov ecx, 0x33
mov word [ebp - 0x1788], cx
mov edx, 0x32
mov word [ebp - 0x1786], dx
mov eax, 0x2e
mov word [ebp - 0x1784], ax
mov ecx, 0x64
mov word [ebp - 0x1782], cx
mov edx, 0x6c
mov word [ebp - 0x1780], dx
mov eax, 0x6c
mov word [ebp - 0x177e], ax
xor ecx, ecx
mov word [ebp - 0x177c], cx
push edi
jmp 0x40849a
or edi, 0xd6b6
pop edi
push edi
push edx
add esp, 4
or edi, 0x38e8
add edi, 0x1221f
call 0x4084c0
add byte [0x4e4c3f39], dh
cmp dword [edx + 0x37], eax
add esp, 4
pop edi
mov byte [ebp - 0x8ac], 0x4c
mov byte [ebp - 0x8ab], 0x6f
mov byte [ebp - 0x8aa], 0x61
mov byte [ebp - 0x8a9], 0x64
mov byte [ebp - 0x8a8], 0x4c
mov byte [ebp - 0x8a7], 0x69
mov byte [ebp - 0x8a6], 0x62
mov byte [ebp - 0x8a5], 0x72
mov byte [ebp - 0x8a4], 0x61
mov byte [ebp - 0x8a3], 0x72
mov byte [ebp - 0x8a2], 0x79
mov byte [ebp - 0x8a1], 0x57
mov byte [ebp - 0x8a0], 0
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19b0], edx
mov eax, dword [ebp - 0x19b0]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19b4], ecx
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x161c], edx
push esi
push esi
add esp, 4
or esi, 0x1446a
add esi, 0x454c
and esi, 0x70e3
pop esi
push edi
push ecx
add esp, 4
sub edi, 0x14b3d
pop edi
push eax
xor eax, 0xd139
jmp 0x408578
pop eax
cmp dword [ebp - 0x161c], 0
jne 0x408591
mov dword [ebp - 0x77c], 0
jmp 0x408838
mov eax, dword [ebp - 0x161c]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xce0], edx
push eax
sub eax, 0x8fbc
or eax, 0xbd5b
and eax, 0x156e6
pop eax
push edi
push edx
add esp, 4
or edi, 0x139dc
sub edi, 0x17ae3
and edi, 0x95aa
add edi, 0x7bbe
pop edi
cmp dword [ebp - 0xce0], 0
jne 0x4085ed
mov dword [ebp - 0x77c], 0
jmp 0x408838
mov eax, dword [ebp - 0xce0]
mov dword [ebp - 0x514], eax
push edi
push edx
add esp, 4
add edi, 0x694f
xor edi, 0x9750
jmp 0x40860f
pop edi
push esi
jmp 0x408618
add esi, 0x11dfb
add esi, 0x1754d
xor esi, 0x24c7
pop esi
lea ecx, [ebp - 0x1794]
mov dword [ebp - 0xcdc], ecx
mov edx, dword [ebp - 0x514]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xcd8], eax
xor ecx, ecx
mov word [ebp - 0x23c], cx
xor edx, edx
mov word [ebp - 0x50], dx
push esi
push ebx
add esp, 4
call 0x408668
add byte [edx + 0x44], al
dec eax
inc eax
xor cl, byte [ecx + 0x35]
xor al, 0x83
les eax, [ecx + eax*4]
test ch, 0x30
add byte [eax], al
pop esi
push edi
jmp 0x40867a
xor edi, 0x92ca
or edi, 0x1521a
pop edi
mov eax, dword [ebp - 0xcd8]
mov cx, word [eax]
mov word [ebp - 0x1052], cx
mov edx, dword [ebp - 0xcd8]
add edx, 2
mov dword [ebp - 0xcd8], edx
mov ax, word [ebp - 0x1052]
mov word [ebp - 0x23c], ax
mov ecx, dword [ebp - 0xcdc]
mov dx, word [ecx]
mov word [ebp - 0x1054], dx
mov eax, dword [ebp - 0xcdc]
add eax, 2
mov dword [ebp - 0xcdc], eax
mov cx, word [ebp - 0x1054]
mov word [ebp - 0x50], cx
push ecx
push edx
add esp, 4
xor ecx, 0x1c86
and ecx, 0x11106
xor ecx, 0x17bb8
pop ecx
push edi
sub edi, 0x57ed
add edi, 0x8d20
and edi, 0x2f07
and edi, 0x13f49
pop edi
movzx edx, word [ebp - 0x50]
test edx, edx
jne 0x40872d
movzx eax, word [ebp - 0x23c]
movzx ecx, word [ebp - 0x50]
sub eax, ecx
mov dword [ebp - 0x1624], eax
jmp 0x408787
movzx edx, word [ebp - 0x23c]
movzx eax, word [ebp - 0x50]
cmp edx, eax
je 0x408655
movzx ecx, word [ebp - 0x23c]
xor ecx, 0x20
movzx edx, word [ebp - 0x50]
cmp ecx, edx
je 0x408655
movzx eax, word [ebp - 0x23c]
movzx ecx, word [ebp - 0x50]
cmp eax, ecx
jge 0x408771
mov dword [ebp - 0x1620], 0xffffffff
jmp 0x40877b
mov dword [ebp - 0x1620], 1
mov edx, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], edx
cmp dword [ebp - 0x1624], 0
jne 0x4087d0
push edi
push esi
add esp, 4
or edi, 0x99e7
call 0x4087a7
add byte [edx + edi + 0x3e], cl
inc ecx
push eax
xor eax, dword [ebx + 0x565f04c4]
jmp 0x4087b5
sub esi, 0x16934
xor esi, 0x13c02
pop esi
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x77c], eax
jmp 0x408838
push eax
sub eax, 0x125f8
sub eax, 0xf570
sub eax, 0x177a
xor eax, 0x152cd
pop eax
push edi
add edi, 0x499
call 0x4087fe
add byte [esi], bh
dec eax
inc ecx
cmp al, 0x34
cmp byte [ebx - 0x74a0fb3c], al
invalid
cmp dword [ebp - 0x77c], 0
jne 0x408882
push ebx
push edi
add esp, 4
or ebx, 0x48d8
pop ebx
push edx
push edx
add esp, 4
add edx, 0x2036
or edx, 0x142fd
sub edx, 0x9243
pop edx
push ebx
sub ebx, 0x13d6e
add ebx, 0x139b3
pop ebx
mov dword [ebp - 0xad4], 0
jmp 0x4093aa
push esi
or esi, 0xb8c2
call 0x408896
add byte [ecx + 0x4a], cl
xor eax, 0x4d3f3634
add esp, 4
pop esi
push ebx
sub ebx, 0x974
xor ebx, 0x15e07
or ebx, 0x17079
add ebx, 0x83a6
pop ebx
mov edx, dword [ebp - 0x77c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x78c], 0
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x1628], ecx
cmp dword [ebp - 0x1628], 0
jne 0x4088f3
mov edx, dword [ebp - 0x78c]
mov dword [ebp - 0x3f8], edx
jmp 0x408be4
mov eax, dword [ebp - 0x1628]
mov ecx, dword [ebp - 0x35c]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x162c], ecx
jne 0x40891b
mov edx, dword [ebp - 0x78c]
mov dword [ebp - 0x3f8], edx
jmp 0x408be4
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x162c]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x1670], eax
cmp dword [ebp - 0x1670], 0
jne 0x40894d
mov ecx, dword [ebp - 0x78c]
mov dword [ebp - 0x3f8], ecx
jmp 0x408be4
mov edx, dword [ebp - 0x35c]
add edx, dword [ebp - 0x1670]
mov dword [ebp - 0x780], edx
jne 0x408972
mov eax, dword [ebp - 0x78c]
mov dword [ebp - 0x3f8], eax
jmp 0x408be4
mov ecx, dword [ebp - 0x780]
mov edx, dword [ebp - 0x35c]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x19b8], edx
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x35c]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x35c]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x19c0], eax
mov dword [ebp - 0x784], 0
jmp 0x4089cc
mov edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x784]
cmp eax, dword [edx + 0x18]
jae 0x408bd8
mov ecx, dword [ebp - 0x784]
mov edx, dword [ebp - 0x19b8]
mov eax, dword [ebp - 0x35c]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x784]
mov edx, dword [ebp - 0x19bc]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x19c0]
mov edx, dword [ebp - 0x35c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x19c4], edx
mov dword [ebp - 0x1d0], 0
jmp 0x408a3c
mov eax, dword [ebp - 0x1d0]
add eax, 1
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x788]
add ecx, dword [ebp - 0x1d0]
movsx edx, byte [ecx]
test edx, edx
je 0x408aee
mov eax, dword [ebp - 0x1d0]
movsx ecx, byte [ebp + eax - 0x8ac]
test ecx, ecx
je 0x408aee
push esi
call 0x408a78
add byte [edx + edi + 0x39], al
xor eax, 0x44473c47
add esp, 4
jmp 0x408a83
and esi, 0x86b3
pop esi
push edx
push edi
add esp, 4
jmp 0x408a94
sub edx, 0x1a5c
pop edx
invalid
xchg ebp, eax
js 0x408a97
invalid