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

Disassembly:
sub edi, 0xf33a
pop edi
cmp dword [ebp - 0xce0], 0
jne 0x5660af
mov dword [ebp - 0x2fc], 0
jmp 0x5662fa
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push edi
push ebx
add esp, 4
or edi, 0x115d7
sub edi, 0x1505c
pop edi
push esi
push eax
add esp, 4
and esi, 0xa80d
add esi, 0xa99
pop esi
push ebx
sub ebx, 0x16b29
add ebx, 0x15d14
pop ebx
lea eax, [ebp - 0x173c]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push ebx
or ebx, 0xc67c
pop ebx
push edi
add edi, 0x31a3
pop edi
push ecx
xor ecx, 0x39e9
sub ecx, 0x131bd
xor ecx, 0x155fe
sub ecx, 0x12b41
pop ecx
push edi
xor edi, 0xf4bc
pop edi
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push edx
push esi
add esp, 4
call 0x5661b3
add byte [ebx], bh
cmp dword [0x45374633], esi
dec esp
add esp, 4
jmp 0x5661bc
call 0x5661c8
add byte [eax*2 + 0x36383a46], bh
add esp, 4
jmp 0x5661d1
pop edx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x5661ef
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1688], edx
jmp 0x566249
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x566117
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x566117
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x566233
mov dword [ebp - 0x1684], 0xffffffff
jmp 0x56623d
mov dword [ebp - 0x1684], 1
mov ecx, dword [ebp - 0x1684]
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 0
jne 0x566292
push edx
push edi
add esp, 4
xor edx, 0xeba0
pop edx
push eax
push esi
add esp, 4
and eax, 0xbcb6
add eax, 0x8c3c
sub eax, 0x5ad9
pop eax
push edi
and edi, 0x16aa1
and edi, 0x8fc2
pop edi
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x5662fa
push ebx
call 0x5662a1
add byte [esi + 0x4d], al
dec esi
inc esi
inc edx
cmp eax, 0xc483494a
add al, 0x81
ret
push ebx
and ebx, 0xa338
pop ebx
push eax
push ecx
add esp, 4
and eax, 0xac0f
jmp 0x566313
or eax, 0xfa85
and eax, 0xc71e
pop eax
push ebx
push esi
add esp, 4
sub ebx, 0x18341
pop ebx
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push ecx
push esi
add esp, 4
add ecx, 0xbc4a
xor ecx, 0x8965
pop ecx
push ebx
sub ebx, 0x3432
xor ebx, 0x1130e
or ebx, 0x11bd0
pop ebx
push esi
push edx
add esp, 4
add esi, 0xcf00
pop esi
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 0
jne 0x56639d
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x56668e
mov edx, dword [ebp - 0x168c]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1690], eax
jne 0x5663c5
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x56668e
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1690]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1694], edx
cmp dword [ebp - 0x1694], 0
jne 0x5663f7
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x56668e
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1694]
mov dword [ebp - 0x788], ecx
jne 0x56641c
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x56668e
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a28], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a2c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a30], edx
mov dword [ebp - 0x78c], 0
jmp 0x566476
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x566682
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a28]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a2c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a30]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a34], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x5664e6
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x566598
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x566598
push esi
and esi, 0x93ea
and esi, 0x110f9
pop esi
push esi
xor esi, 0x811f
pop esi
push ebx
sub ebx, 0x13aca
or ebx, 0x14ba5
pop ebx
push esi
sub esi, 0x13db5
xor esi, 0xf5db
pop esi
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x56658a
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x566591
jmp 0x5664d7
jmp 0x566598
push edi
sub edi, 0x216
and edi, 0x12ee5
add edi, 0xecf6
sub edi, 0x9484
pop edi
push ebx
push eax
add esp, 4
add ebx, 0x10ceb
or ebx, 0x96f3
add ebx, 0x102cc
pop ebx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
cmp ecx, eax
jne 0x5665f7
mov dword [ebp - 0xce4], 0
jmp 0x566666
push eax
jmp 0x566601
pop eax
push eax
and eax, 0x1765f
call 0x566619
add byte [ecx], bh
push eax
inc ecx
inc edx
cmp edi, dword [eax + ecx*2]
dec esp
dec esp
add esp, 4
sub eax, 0x6d29
xor eax, 0x16e51
pop eax
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
or ecx, 0x20
cmp edx, ecx
jge 0x56665c
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x566666
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x56667d
mov edx, dword [ebp - 0x1a34]
mov dword [ebp - 0x520], edx
jmp 0x56668e
jmp 0x566467
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xabc], ecx
push edi
push eax
add esp, 4
jmp 0x5666a7
push es
call 0x5666b3
add byte [esi], dh
xor cl, byte [ebx + 0x4d]
inc esp
dec ebx
add esp, 4
call 0x5666c2
add byte [esi + esi + 0x4d], al
push eax
inc esi
dec eax
add esp, 4
add edi, 0x77ed
pop edi
mov edx, dword [ebp - 0xabc]
mov dword [ebp - 0x1a38], edx
lea eax, [ebp - 0xce8]
push eax
push 0x40
mov ecx, dword [ebp - 0x1698]
push ecx
mov edx, dword [ebp - 0x3e8]
push edx
call dword [ebp - 0x1a38]
test eax, eax
jne 0x56673f
push esi
push esi
add esp, 4
and esi, 0x11137
or esi, 0x10a00
pop esi
push esi
jmp 0x566712
xor esi, 0xfebd
pop esi
push ebx
push eax
add esp, 4
xor ebx, 0x1575
add ebx, 0xb672
pop ebx
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x1a3c], eax
push 0
call dword [ebp - 0x1a3c]
mov ecx, dword [ebp - 0x1a40]
mov dword [ebp - 0x798], ecx
jmp 0x56675c
mov edx, dword [ebp - 0x798]
add edx, 1
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0xac0]
jae 0x5667b8
push edi
push ebx
add esp, 4
or edi, 0x116aa
call 0x566784
add byte [edx], dh
aas
cmp al, 0x47
dec esp
inc ebp
dec esp
aaa
inc edx
add esp, 4
pop edi
push ebx
xor ebx, 0xab87
pop ebx
push ecx
push edx
add esp, 4
or ecx, 0x10bc9
pop ecx
movzx ecx, byte [ebp - 0x3ae]
mov edx, dword [ebp - 0x798]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x798]
mov byte [ecx], al
jmp 0x56674d
mov edx, dword [ebp - 0xabc]
mov dword [ebp - 0x1a44], edx
mov esp, 0x8dffffe5
test dword [eax], ebx
invalid
invalid
call dword [eax - 0x75]
lea ebx, [eax]
invalid
invalid
call dword [ecx - 0x75]
xchg ebp, eax
push 0x52ffffe9
mov eax, dword [ebp - 0x3e8]
push eax
call dword [ebp - 0x1a44]
test eax, eax
jne 0x566830
push edx
push edi
add esp, 4
or edx, 0x8fa8
xor edx, 0x12b05
call 0x566807
add byte [eax + 0x39], cl
dec esp
inc ebp
inc ebp
aas
add esp, 4
call 0x566818
add byte [edi], dh
aaa
dec ecx
inc edi
xor eax, 0x83435039
les eax, [edx + ebx*2]
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x1a48], ecx
push 0
call dword [ebp - 0x1a48]
push edx
push edx
add esp, 4
sub edx, 0x70ae
and edx, 0x4a8f
add byte [ecx + 0xd91fea], al
add byte [edx + 0x51], bl
and ecx, 0x1ab7
pop ecx
push ebx
push ecx
add esp, 4
jmp 0x56685b
xor ebx, 0xc076
pop ebx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff01ff
pop ecx
pop eax
sub al, 0x7f
and al, byte [ecx]
add dword [edx + 0x272b8c8], eax
add ecx, ebp
or al, byte [ecx]
add dword [ecx], eax
add dword [edi], esi
dec ebx
inc edi
inc edi
dec ebx
inc ebp
inc edx
cmp eax, dword [ebp + eax*8 + 0x10ce905]
add dword [ecx], eax
add dword [0x3a3a4e3c], esi
xor esi, dword ds:[ecx*2 + 0x5c58435]
pushal
mov dword [esi + 0xefb5], 0xb686c748
out dx, eax
add byte [eax], al
mov word [esi + 0xefb7], 0xc775
xchg byte [eax + 0x4e0000ef], bh
mov dword [esi + 0xefb9], 0xba86c770
out dx, eax
add byte [eax], al
mov dword gs:[esi + 0xefbb], 0xbc86c776
out dx, eax
add byte [eax], al
insd dword es:[edi], dx
mov dword [esi + 0xefbd], 0xbe86c766
out dx, eax
add byte [eax], al
dec ecx
mov dword [esi + 0xefbf], 0xc086c762
out dx, eax
add byte [eax], al
outsd dx, dword [esi]
mov dword [esi + 0xefc1], 0xc286c765
out dx, eax
add byte [eax], al
insd dword es:[edi], dx
mov dword [esi + 0xefc3], 0xc486c766
out dx, eax
add byte [eax], al
pop eax
mov dword [esi + 0xefc5], 0x7ec5701
dec edi
inc esi
cmp eax, 0x824b4e4a
idiv dword [edi + edx + 1]
add esp, ebp
add eax, 0x403f4c3e
in al, dx
push es
inc edi
inc ebx
push eax
inc ecx
pop edi
push esp
xor ah, 0xe5
cdq
add dword [ecx], eax
in al, dx
push es
inc esp
xor ecx, dword [ecx + 0x41]
xor al, 0x82
hlt