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

Disassembly:
mov edx, dword [ebp - 0x94c]
add edx, 1
mov dword [ebp - 0x94c], edx
mov eax, dword [ebp - 0x948]
mov ecx, dword [ebp - 0x94c]
cmp ecx, dword [eax + 0x18]
jae 0x4161d9
mov edx, dword [ebp - 0x94c]
mov eax, dword [ebp - 0x1f24]
mov ecx, dword [ebp - 0x3d4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x950], ecx
mov edx, dword [ebp - 0x94c]
idiv bh
dec dword [ebx - 0x1f277b]
dec dword [edi]
mov bh, 0xc
push eax
idiv bh
dec dword [ebx - 0x1f277b]
dec dword [edi]
mov bh, 0xc
push eax
mov edx, dword [ebp - 0x1f2c]
mov eax, dword [ebp - 0x3d4]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1f30], eax
mov dword [ebp - 0x1f4], 0
jmp 0x41603d
mov ecx, dword [ebp - 0x1f4]
add ecx, 1
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ebp - 0x950]
add edx, dword [ebp - 0x1f4]
movsx eax, byte [edx]
test eax, eax
je 0x4160ef
mov ecx, dword [ebp - 0x1f4]
movsx edx, byte [ebp + ecx - 0xb0c]
test edx, edx
je 0x4160ef
push edx
push ebx
add esp, 4
xor edx, 0x131e3
and edx, 0x15b83
or edx, 0x2a46
pop edx
push edi
call 0x416090
add byte [edx + 0x48], al
xor eax, 0x44354137
add esp, 4
pop edi
push eax
and eax, 0x5963
pop eax
mov eax, dword [ebp - 0x950]
add eax, dword [ebp - 0x1f4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1f4]
movsx eax, byte [ebp + edx - 0xb0c]
cmp ecx, eax
je 0x4160e1
mov ecx, dword [ebp - 0x950]
add ecx, dword [ebp - 0x1f4]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x1f4]
movsx ecx, byte [ebp + eax - 0xb0c]
cmp edx, ecx
jne 0x4160e8
jmp 0x41602e
jmp 0x4160ef
push ebx
call 0x4160fd
add byte [ebp + 0x4e], cl
inc edx
dec eax
aas
inc esi
inc ebp
add esp, 4
sub ebx, 0x15b0a
pop ebx
push ebx
sub ebx, 0x16ca8
and ebx, 0xb1ba
or ebx, 0x1251d
and ebx, 0x15c26
pop ebx
mov edx, dword [ebp - 0x950]
add edx, dword [ebp - 0x1f4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1f4]
movsx edx, byte [ebp + ecx - 0xb0c]
cmp eax, edx
jne 0x41614e
mov dword [ebp - 0xfdc], 0
jmp 0x4161bd
push edi
push eax
add esp, 4
and edi, 0xd278
pop edi
push edx
jmp 0x416161
and edx, 0x9a7d
pop edx
push ecx
push eax
add esp, 4
add ecx, 0xc362
or ecx, 0x172af
and ecx, 0x9b1d
pop ecx
mov eax, dword [ebp - 0x950]
add eax, dword [ebp - 0x1f4]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x1f4]
movsx eax, byte [ebp + edx - 0xb0c]
or eax, 0x20
cmp ecx, eax
jge 0x4161b3
mov dword [ebp - 0xfdc], 0xffffffff
jmp 0x4161bd
mov dword [ebp - 0xfdc], 1
cmp dword [ebp - 0xfdc], 0
jne 0x4161d4
mov ecx, dword [ebp - 0x1f30]
mov dword [ebp - 0x4c4], ecx
jmp 0x4161e5
jmp 0x415fbe
mov edx, dword [ebp - 0x954]
mov dword [ebp - 0x4c4], edx
cmp dword [ebp - 0x4c4], 0
je 0x4162c0
push ebx
add ebx, 0x7576
or ebx, 0x16a69
call 0x41620e
add byte [ebp + 0x44], cl
dec esi
push eax
xor eax, 0x384a3f3a
add esp, 4
call 0x416220
add byte [esi + 0x3a], al
dec edi
cmp byte [edx], dh
dec ecx
xor al, byte [ecx + 0x4b]
add esp, 4
pop ebx
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x1f34], eax
push edx
jmp 0x416239
add edx, 0xfd1a
sub edx, 0xf428
sub edx, 0x8d66
pop edx
push edx
or edx, 0xc610
pop edx
push ecx
and ecx, 0x14c42
or ecx, 0x15074
pop ecx
mov ecx, dword [ebp - 0x1f34]
mov dword [ebp - 0x1f38], ecx
lea edx, [ebp - 0x1ba8]
push edx
call dword [ebp - 0x1f38]
test eax, eax
jne 0x4162c0
push ecx
push ecx
add esp, 4
add ecx, 0xe4b2
or ecx, 0xb829
pop ecx
push ecx
and ecx, 0x9651
pop ecx
push esi
push esi
add esp, 4
and esi, 0x15c3d
and esi, 0x137ef
and esi, 0xdaa8
pop esi
mov dword [ebp - 0x990], 0
jmp 0x4169aa
push edi
push eax
add esp, 4
call 0x4162d4
add byte [edx + eax*2], dh
inc edi
inc edx
aas
xor eax, dword [ebp + edi + 0x44]
add esp, 4
pop edi
push eax
sub eax, 0x170c9
jmp 0x4162e5
sub eax, 0x62d6
sub eax, 0x8310
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1f3c], eax
mov ecx, dword [ebp - 0x1f3c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1f40], edx
mov eax, dword [ebp - 0x1f40]
mov dword [ebp - 0x1b8c], eax
push eax
or eax, 0x122eb
xor eax, 0x23bc
and eax, 0xe218
and eax, 0x10e74
pop eax
push edx
or edx, 0xcfbc
call 0x416347
add byte [ebx + 0x3d], al
dec ebx
dec ebp
cmp eax, 0xc483383b
add al, 0x5a
cmp dword [ebp - 0x1b8c], 0
jne 0x416363
mov dword [ebp - 0x394], 0
jmp 0x41660a
mov ecx, dword [ebp - 0x1b8c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xfe8], eax
push ecx
xor ecx, 0x124f4
jmp 0x416385
call 0x416392
add byte [ebp + 0x41], cl
inc ecx
cmp dh, byte [ebx]
xor eax, 0x4c4833b
call 0x4163a3
add byte [ebx], bh
dec edx
push eax
aaa
inc ebp
cmp cl, byte [edx + 0x4f]
add esp, 4
pop ecx
cmp dword [ebp - 0xfe8], 0
jne 0x4163bf
mov dword [ebp - 0x394], 0
jmp 0x41660a
mov ecx, dword [ebp - 0xfe8]
mov dword [ebp - 0x634], ecx
push edx
push edx
add esp, 4
xor edx, 0x9c88
jmp 0x4163de
pop edx
push esi
xor esi, 0x10264
pop esi
push esi
or esi, 0xc529
or esi, 0x17963
pop esi
push edx
add edx, 0xeb52
pop edx
lea edx, [ebp - 0x1ba8]
mov dword [ebp - 0xfe4], edx
mov eax, dword [ebp - 0x634]
mov ecx, dword [eax + 0x30]
dec eax
xor byte [ecx - 0xfdf73], cl
push dword [ebx]
shl byte [esi - 0x77], cl
xchg ebp, eax
push esp
std
invalid
push dword [ebx]
shl byte [esi - 0x77], 0x45
cwde
push ebx
push eax
add esp, 4
xor ebx, 0x143aa
add ebx, 0xc801
pop ebx
push eax
and eax, 0x9707
pop eax
push eax
push ecx
add esp, 4
add eax, 0x5b70
pop eax
push esi
push edx
add esp, 4
jmp 0x416458
pop esi
mov ecx, dword [ebp - 0xfe0]
mov dx, word [ecx]
mov word [ebp - 0x1416], dx
mov eax, dword [ebp - 0xfe0]
add eax, 2
mov dword [ebp - 0xfe0], eax
mov cx, word [ebp - 0x1416]
mov word [ebp - 0x2ac], cx
mov edx, dword [ebp - 0xfe4]
mov ax, word [edx]
mov word [ebp - 0x1418], ax
mov ecx, dword [ebp - 0xfe4]
add ecx, 2
mov dword [ebp - 0xfe4], ecx
mov dx, word [ebp - 0x1418]
mov word [ebp - 0x68], dx
push edx
add edx, 0x89a0
sub edx, 0x3097
xor edx, 0x9905
jmp 0x4164cb
pop edx
push ecx
and ecx, 0x161fa
pop ecx
push eax
and eax, 0xdeea
xor eax, 0x683b
pop eax
movzx eax, word [ebp - 0x68]
test eax, eax
jne 0x4164ff
movzx ecx, word [ebp - 0x2ac]
movzx edx, word [ebp - 0x68]
sub ecx, edx
mov dword [ebp - 0x1b50], ecx
jmp 0x416559
movzx eax, word [ebp - 0x2ac]
movzx ecx, word [ebp - 0x68]
cmp eax, ecx
je 0x416427
movzx edx, word [ebp - 0x2ac]
xor edx, 0x20
movzx eax, word [ebp - 0x68]
cmp edx, eax
je 0x416427
movzx ecx, word [ebp - 0x2ac]
movzx edx, word [ebp - 0x68]
cmp ecx, edx
jge 0x416543
mov dword [ebp - 0x1abc], 0xffffffff
jmp 0x41654d
mov dword [ebp - 0x1abc], 1
mov eax, dword [ebp - 0x1abc]
mov dword [ebp - 0x1b50], eax
cmp dword [ebp - 0x1b50], 0
jne 0x4165a2
push ebx
push edi
add esp, 4
call 0x416574
add byte [eax + 0x3f], al
xor al, 0x3a
dec ebx
cmp al, 0x40
add esp, 4
pop ebx
push esi
jmp 0x416582
call 0x416590
add byte [ebx + 0x4f], cl
dec ebx
push eax
dec ecx
inc edi
inc eax
xor al, byte [ebx - 0x74a1fb3c]
invalid
push ecx
and ecx, 0x17d5d
or ecx, 0x166d9
xor ecx, 0x2933
jmp 0x4165be
pop ecx
push esi
jmp 0x4165c7
xor esi, 0x15be0
xor esi, 0x18490
pop esi
mov edx, dword [ebp - 0x634]
mov eax, dword [edx]
mov dword [ebp - 0x634], eax
mov ecx, dword [ebp - 0x634]
cmp ecx, dword [ebp - 0xfe8]
je 0x416600
mov edx, dword [ebp - 0x634]
cmp dword [edx + 0x30], 0
jne 0x4163cb
mov dword [ebp - 0x394], 0
push ecx
push edi
add esp, 4
add ecx, 0x23cb
sub ecx, 0x1c9
pop ecx
push esi
jmp 0x416624
add esi, 0x60e3
jmp 0x416633
pop esi
push esi
add esi, 0x7648
pop esi
mov eax, dword [ebp - 0x394]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x3d0], ecx
push ebx
push ebx
add esp, 4
jmp 0x416655
pop ebx
push ecx
push ebx
add esp, 4
jmp 0x416661
call 0x41666d
add byte [0x40353f4f], dh
dec ebx
add esp, 4
add ecx, 0x7655
or ecx, 0xdfcf
pop ecx
mov dword [ebp - 0x964], 0
mov edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x1b54], edx
cmp dword [ebp - 0x1b54], 0
jne 0x4166ad
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x638], eax
jmp 0x41699e
mov ecx, dword [ebp - 0x1b54]
mov edx, dword [ebp - 0x3d0]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1b58], edx
jne 0x4166d5
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x638], eax
jmp 0x41699e
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1b58]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1b5c], ecx
cmp dword [ebp - 0x1b5c], 0
jne 0x416707
mov edx, dword [ebp - 0x964]
mov dword [ebp - 0x638], edx
jmp 0x41699e
mov eax, dword [ebp - 0x3d0]
add eax, dword [ebp - 0x1b5c]
mov dword [ebp - 0x958], eax
jne 0x41672c
mov ecx, dword [ebp - 0x964]
mov dword [ebp - 0x638], ecx
jmp 0x41699e
mov edx, dword [ebp - 0x958]
mov eax, dword [ebp - 0x3d0]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1f44], eax
mov ecx, dword [ebp - 0x958]
mov edx, dword [ebp - 0x3d0]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1f48], edx
mov eax, dword [ebp - 0x958]
mov ecx, dword [ebp - 0x3d0]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1f4c], ecx
mov dword [ebp - 0x95c], 0
jmp 0x416786
mov edx, dword [ebp - 0x95c]
add edx, 1
mov dword [ebp - 0x95c], edx
mov eax, dword [ebp - 0x958]
mov ecx, dword [ebp - 0x95c]
cmp ecx, dword [eax + 0x18]
jae 0x416992
mov edx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x1f44]
mov ecx, dword [ebp - 0x3d0]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x960], ecx
mov edx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x1f48]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1f4c]
mov eax, dword [ebp - 0x3d0]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1f50], eax
invalid
test dword [eax], edx
invalid
invalid