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

Disassembly:
les eax, [ebx + ebx*2]
cmp dword [ebp - 0x1674], 0
jne 0x408d63
mov dword [ebp - 0x300], 0
jmp 0x40900a
mov eax, dword [ebp - 0x1674]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xcf0], edx
push esi
add esi, 0x6dbb
and esi, 0x1c1d
add esi, 0x786b
xor esi, 0x63f1
pop esi
push edi
push esi
add esp, 4
add edi, 0x1257d
add edi, 0xfa21
add edi, 0x160c7
pop edi
cmp dword [ebp - 0xcf0], 0
jne 0x408dbf
mov dword [ebp - 0x300], 0
jmp 0x40900a
mov eax, dword [ebp - 0xcf0]
mov dword [ebp - 0x518], eax
push eax
or eax, 0xc2fa
or eax, 0x15582
call 0x408de8
add byte [esi], dh
cmp al, 0x4d
dec edx
dec edi
aaa
cmp eax, 0x833b4141
les eax, [ecx + eax*4]
call fcn.0040df8b
pop eax
push edx
jmp 0x408dfc
pop edx
lea ecx, [ebp - 0x173c]
mov dword [ebp - 0xcec], ecx
mov edx, dword [ebp - 0x518]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xce8], eax
xor ecx, ecx
mov word [ebp - 0x240], cx
xor edx, edx
mov word [ebp - 0x54], dx
push eax
push esi
add esp, 4
call 0x408e3b
add byte [ecx + 0x36], cl
push eax
inc edi
aas
dec ebx
xor eax, 0xc483364f
add al, 0x81
call fcn.0041a676
pop eax
push edi
add edi, 0x6494
pop edi
push edx
push esi
add esp, 4
xor edx, 0x16047
pop edx
mov eax, dword [ebp - 0xce8]
mov cx, word [eax]
mov word [ebp - 0x1056], cx
mov edx, dword [ebp - 0xce8]
add edx, 2
mov dword [ebp - 0xce8], edx
mov ax, word [ebp - 0x1056]
mov word [ebp - 0x240], ax
mov ecx, dword [ebp - 0xcec]
mov dx, word [ecx]
mov word [ebp - 0x1058], dx
mov eax, dword [ebp - 0xcec]
add eax, 2
mov dword [ebp - 0xcec], eax
mov cx, word [ebp - 0x1058]
mov word [ebp - 0x54], cx
push ecx
push esi
add esp, 4
and ecx, 0x1127e
and ecx, 0x1098d
pop ecx
push edx
add edx, 0x1255f
or edx, 0x28b3
pop edx
push esi
push esi
add esp, 4
and esi, 0x2724
xor esi, 0xba53
pop esi
movzx edx, word [ebp - 0x54]
test edx, edx
jne 0x408eff
movzx eax, word [ebp - 0x240]
movzx ecx, word [ebp - 0x54]
sub eax, ecx
mov dword [ebp - 0x1680], eax
jmp 0x408f59
movzx edx, word [ebp - 0x240]
movzx eax, word [ebp - 0x54]
cmp edx, eax
je 0x408e27
movzx ecx, word [ebp - 0x240]
xor ecx, 0x20
movzx edx, word [ebp - 0x54]
cmp ecx, edx
je 0x408e27
movzx eax, word [ebp - 0x240]
movzx ecx, word [ebp - 0x54]
cmp eax, ecx
jge 0x408f43
mov dword [ebp - 0x1678], 0xffffffff
jmp 0x408f4d
mov dword [ebp - 0x1678], 1
mov edx, dword [ebp - 0x1678]
mov dword [ebp - 0x1680], edx
cmp dword [ebp - 0x1680], 0
jne 0x408fa2
push eax
call 0x408f72
add byte [eax + 0x34], al
dec eax
cmp byte [ecx + 0x3f], al
xor cl, byte [ebx + 0x3e]
add esp, 4
xor eax, 0x47b
call 0x408f8a
add byte [esi], bh
cmp ecx, dword [ebp + 0x38]
inc ebp
xor dh, byte [edi]
xor cl, byte [ebp - 0x7d]
les eax, [ecx + eax*4]
invalid
push edi
add edi, 0xf33e
xor edi, 0xf54
and edi, 0x3feb
pop edi
push edi
and edi, 0x1b15
xor edi, 0x14c
call 0x408fd0
add byte [edi + 0x42], al
xor eax, dword [edi + 0x3a]
dec ecx
cmp al, 0x83
les eax, [edi + ebx*2]
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx]
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x518]
cmp eax, dword [ebp - 0xcf0]
je 0x409000
mov ecx, dword [ebp - 0x518]
cmp dword [ecx + 0x30], 0
jne 0x408dcb
mov dword [ebp - 0x300], 0
push ebx
push ebx
add esp, 4
xor ebx, 0x9302
pop ebx
push esi
push ebx
add esp, 4
xor esi, 0x1382e
pop esi
push esi
or esi, 0xc2fc
sub esi, 0x6b33
and esi, 0x809b
sub esi, 0x166a3
pop esi
mov edx, dword [ebp - 0x300]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x358], eax
push ebx
push edx
add esp, 4
and ebx, 0x3b8b
pop ebx
push ebx
push esi
add esp, 4
or ebx, 0xd265
pop ebx
push ebx
add ebx, 0xdc68
add ebx, 0xb0e9
pop ebx
push eax
push edi
add esp, 4
xor eax, 0x347f
pop eax
mov dword [ebp - 0x79c], 0
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x4090ad
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], edx
jmp 0x40939e
mov eax, dword [ebp - 0x1684]
mov ecx, dword [ebp - 0x358]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1688], ecx
jne 0x4090d5
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], edx
jmp 0x40939e
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1688]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 0
jne 0x409107
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], ecx
jmp 0x40939e
mov edx, dword [ebp - 0x358]
add edx, dword [ebp - 0x168c]
mov dword [ebp - 0x790], edx
jne 0x40912c
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], eax
jmp 0x40939e
mov ecx, dword [ebp - 0x790]
mov edx, dword [ebp - 0x358]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x19d8], edx
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x358]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x19dc], ecx
mov edx, dword [ebp - 0x790]
mov eax, dword [ebp - 0x358]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x19e0], eax
mov dword [ebp - 0x794], 0
jmp 0x409186
mov ecx, dword [ebp - 0x794]
add ecx, 1
mov dword [ebp - 0x794], ecx
mov edx, dword [ebp - 0x790]
mov eax, dword [ebp - 0x794]
cmp eax, dword [edx + 0x18]
jae 0x409392
mov ecx, dword [ebp - 0x794]
mov edx, dword [ebp - 0x19d8]
mov eax, dword [ebp - 0x358]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x794]
mov edx, dword [ebp - 0x19dc]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x19e0]
mov edx, dword [ebp - 0x358]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x19e4], edx
mov dword [ebp - 0x1d4], 0
jmp 0x4091f6
mov eax, dword [ebp - 0x1d4]
add eax, 1
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x798]
add ecx, dword [ebp - 0x1d4]
movsx edx, byte [ecx]
test edx, edx
je 0x4092a8
mov eax, dword [ebp - 0x1d4]
movsx ecx, byte [ebp + eax - 0x9dc]
test ecx, ecx
je 0x4092a8
push edi
and edi, 0x1624c
xor edi, 0x12f3e
sub edi, 0x161b0
xor edi, 0xc16d
pop edi
push edx
push esi
add esp, 4
or edx, 0xed90
xor edx, 0xc49e
or edx, 0x5fb4
pop edx
mov edx, dword [ebp - 0x798]
add edx, dword [ebp - 0x1d4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1d4]
movsx edx, byte [ebp + ecx - 0x9dc]
cmp eax, edx
je 0x40929a
mov eax, dword [ebp - 0x798]
add eax, dword [ebp - 0x1d4]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x1d4]
movsx eax, byte [ebp + edx - 0x9dc]
cmp ecx, eax
jne 0x4092a1
jmp 0x4091e7
jmp 0x4092a8
push esi
sub esi, 0x3e53
jmp 0x4092b7
jmp 0x4092be
xor esi, 0x798b
pop esi
push esi
call 0x4092d6
add byte [esi + 0x50], cl
cmp byte [edx], dh
dec edx
inc esp
inc eax
xor cl, byte [ebx + eax*4 - 0x3c]
add al, 0x5e
mov ecx, dword [ebp - 0x798]
add ecx, dword [ebp - 0x1d4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1d4]
movsx ecx, byte [ebp + eax - 0x9dc]
cmp edx, ecx
jne 0x409307
mov dword [ebp - 0xcf4], 0
jmp 0x409376
push ebx
push eax
add esp, 4
or ebx, 0x138ea
or ebx, 0xb0a4
sub ebx, 0x11353
pop ebx
push ebx
sub ebx, 0x10a52
sub ebx, 0xedc1
sub ebx, 0xf726
xor ebx, 0x77ab
pop ebx
mov edx, dword [ebp - 0x798]
add edx, dword [ebp - 0x1d4]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x1d4]
movsx edx, byte [ebp + ecx - 0x9dc]
or edx, 0x20
cmp eax, edx
jge 0x40936c
mov dword [ebp - 0xcf4], 0xffffffff
jmp 0x409376
mov dword [ebp - 0xcf4], 1
cmp dword [ebp - 0xcf4], 0
jne 0x40938d
mov eax, dword [ebp - 0x19e4]
mov dword [ebp - 0x51c], eax
jmp 0x40939e
jmp 0x409177
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0xad4], edx