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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e4
mov eax, dword [0x5fa040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
push 1
mov dword [ebp - 0x2e4], edi
call fcn.00561440
cmp eax, 1
sete al
mov byte [edi + 0x1060], al
mov ecx, dword [edi + 0x70]
cmp ecx, 4
ja 0x561e2e
mov esi, 0x20
shl ecx, 3
mov eax, esi
sub eax, dword [edi + 0x48]
cmp eax, ecx
jb 0x561e2e
push 2
mov ecx, edi
call fcn.00561440
mov edx, eax
cmp edx, 2
ja 0x561e2e
mov ecx, dword [edi + 0x70]
cmp ecx, 4
ja 0x561e2e
mov ebx, dword [edi + 0x48]
mov eax, esi
shl ecx, 3
sub eax, ebx
cmp eax, ecx
jb 0x561e2e
test edx, edx
jne 0x5616ef
mov ecx, ebx
mov byte [edi + 0x1061], 1
neg ecx
and ecx, 7
shr dword [edi + 0x78], cl
lea eax, [ebx + ecx]
mov ecx, edi
mov dword [edi + 0x48], eax
call fcn.005612c0
cmp byte [edi + 0x1062], 0
mov dword [edi + 0x1058], eax
jne 0x561e1b
mov ecx, edi
call fcn.005612c0
not eax
movzx eax, ax
cmp dword [edi + 0x1058], eax
sete al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00587d99
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x1061], 0
cmp edx, 1
jne 0x561781
push 0x90
lea eax, [ebp - 0x2d8]
push 8
push eax
call fcn.0058ad30
push 0x70
lea eax, [ebp - 0x248]
push 9
push eax
call fcn.0058ad30
movaps xmm0, xmmword [str._a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a]
xor eax, eax
add esp, 0x18
movq qword [ebp - 0x1c8], xmm0
cmp byte [edi + 0x1063], al
movups xmmword [ebp - 0x1d8], xmm0
setne al
mov dword [ebp - 0x1c0], 0x8080808
movaps xmm0, xmmword [0x5d3000]
mov dword [ebp - 0x1bc], 0x8080808
movups xmmword [ebp - 0x1b8], xmm0
lea eax, [eax*2 + 0x1e]
movups xmmword [ebp - 0x1a8], xmm0
mov dword [edi + 0x105c], eax
jmp 0x5618e5
push 5
mov ecx, edi
call fcn.00561440
add eax, 0x101
mov ecx, edi
push 5
mov dword [ebp - 0x2e0], eax
call fcn.00561440
inc eax
mov ecx, edi
push 4
mov dword [edi + 0x105c], eax
call fcn.00561440
add eax, 4
cmp byte [edi + 0x1063], 0
mov dword [ebp - 0x2dc], eax
jne 0x5617cd
cmp dword [edi + 0x105c], 0x1e
ja 0x561e2e
xor esi, esi
nop
movzx ebx, byte [esi + 0x5c5600]
cmp esi, eax
jae 0x5617e6
push 3
mov ecx, edi
call fcn.00561440
jmp 0x5617f1
cmp ebx, 0x13
jae 0x561e41
xor al, al
inc esi
mov byte [ebp + ebx - 0x18], al
mov eax, dword [ebp - 0x2dc]
cmp esi, 0x13
jb 0x5617d0
mov eax, dword [edi + 0x70]
cmp eax, 4
ja 0x561e2e
mov ebx, 0x20
shl eax, 3
mov ecx, ebx
sub ecx, dword [edi + 0x48]
cmp ecx, eax
jb 0x561e2e
push ecx
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xfd8]
call fcn.005630e0
test al, al
je 0x561e2e
mov eax, dword [edi + 0x105c]
mov ecx, edi
mov esi, dword [ebp - 0x2e0]
add eax, esi
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.005614d0
test al, al
je 0x561e2e
mov eax, dword [edi + 0x70]
cmp eax, 4
ja 0x561e2e
sub ebx, dword [edi + 0x48]
shl eax, 3
cmp ebx, eax
jb 0x561e2e
push esi
lea eax, [ebp - 0x158]
mov dword [ebp - 0x1bf], 0
xorps xmm0, xmm0
mov word [ebp - 0x1bb], 0
push eax
lea eax, [ebp - 0x2d8]
movq qword [ebp - 0x1c7], xmm0
push eax
movups xmmword [ebp - 0x1d7], xmm0
mov byte [ebp - 0x1b9], 0
movups xmmword [ebp - 0x1b8], xmm0
movups xmmword [ebp - 0x1a8], xmm0
call fcn.0058aed0
push dword [edi + 0x105c]
lea eax, [ebp - 0x158]
add eax, esi
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.0058aed0
add esp, 0x18
xorps xmm0, xmm0
lea ebx, [edi + 0x80]
mov dword [ebp - 0x2e0], ebx
xor ecx, ecx
movups xmmword [ebp - 0x198], xmm0
movups xmmword [ebp - 0x188], xmm0
movups xmmword [ebp - 0x178], xmm0
movups xmmword [ebp - 0x168], xmm0
nop dword [eax]
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x2d8]
inc dword [ebp + eax*4 - 0x198]
movzx eax, byte [ebp + ecx - 0x2d7]
inc dword [ebp + eax*4 - 0x198]
movzx eax, byte [ebp + ecx - 0x2d6]
inc dword [ebp + eax*4 - 0x198]
movzx eax, byte [ebp + ecx - 0x2d5]
inc dword [ebp + eax*4 - 0x198]
movzx eax, byte [ebp + ecx - 0x2d4]
inc dword [ebp + eax*4 - 0x198]
movzx eax, byte [ebp + ecx - 0x2d3]
add ecx, 6
inc dword [ebp + eax*4 - 0x198]
cmp ecx, 0x120
jb 0x561920
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x194]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x18c]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x188]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x184]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x180]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x17c]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x178]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x174]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x170]
lea edx, [eax + ecx*2]
mov eax, dword [ebp - 0x16c]
mov dword [ebx], edx
mov ecx, edx
mov dword [ebx + 0x1c], edx
mov dword [ebp - 0x16c], edx
add edx, eax
lea ecx, [eax + ecx*2]
mov eax, ecx
add ecx, ecx
shl eax, 4
mov dword [ebx + 4], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x168]
add ecx, eax
mov dword [ebp - 0x168], edx
add edx, eax
lea eax, [ecx*8]
add ecx, ecx
mov dword [ebx + 8], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0x164]
add ecx, eax
mov dword [ebp - 0x164], edx
add edx, eax
lea eax, [ecx*4]
add ecx, ecx
mov dword [ebx + 0xc], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x28], eax
mov eax, dword [ebp - 0x160]
add ecx, eax
add ecx, ecx
mov dword [ebp - 0x160], edx
add edx, eax
mov dword [ebx + 0x10], ecx
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x15c]
add ecx, eax
mov dword [ebx + 0x14], ecx
mov dword [ebp - 0x15c], edx
mov dword [ebx + 0x18], 0x8000
cmp ecx, 0x8000
ja 0x561e2e
xor edi, edi
mov ebx, 1
mov esi, dword [ebp + ebx*4 - 0x198]
mov ecx, 0xa
sub ecx, ebx
mov eax, edi
shr eax, cl
mov dword [ebp + ebx*4 - 0x198], eax
mov eax, dword [ebp - 0x2e0]
shl esi, cl
add eax, 0x30
push esi
add eax, edi
push ebx
push eax
call fcn.0058ad30
inc ebx
add esp, 0xc
add edi, esi
cmp ebx, 0xa
jbe 0x561a92
mov edi, dword [ebp - 0x2e4]
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x2dc], ecx
nop dword [eax + eax]
movzx ebx, byte [ebp + ecx - 0x2d8]
test ebx, ebx
je 0x561b4a
mov esi, dword [ebp + ebx*4 - 0x198]
lea eax, [esi + 1]
mov dword [ebp + ebx*4 - 0x198], eax
cmp ebx, 0xa
jb 0x561b0c
mov word [edi + esi*2 + 0x4b0], dx
jmp 0x561b4a
mov ecx, 0xb
lea eax, [edi + 0x4b0]
sub ecx, ebx
shl esi, cl
add eax, esi
mov esi, 1
shl esi, cl
add esi, eax
cmp ebx, 8
jb 0x561b32
mov dword [eax], edx
mov dword [esi - 4], edx
jmp 0x561b44
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
add eax, 0x10
cmp eax, esi
jne 0x561b32
mov ecx, dword [ebp - 0x2dc]
inc ecx
add edx, 0x10001
mov dword [ebp - 0x2dc], ecx
cmp ecx, 0x120
jb 0x561ae0
xorps xmm0, xmm0
lea ebx, [edi + 0xedc]
mov dword [ebp - 0x2dc], ebx
xor ecx, ecx
movups xmmword [ebp - 0x198], xmm0
movups xmmword [ebp - 0x188], xmm0
movups xmmword [ebp - 0x178], xmm0
movups xmmword [ebp - 0x168], xmm0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x1b8]
inc dword [ebp + eax*4 - 0x198]
movzx eax, byte [ebp + ecx - 0x1b7]
inc dword [ebp + eax*4 - 0x198]
movzx eax, byte [ebp + ecx - 0x1b6]
inc dword [ebp + eax*4 - 0x198]
movzx eax, byte [ebp + ecx - 0x1b5]
add ecx, 4
inc dword [ebp + eax*4 - 0x198]
cmp ecx, 0x20
jb 0x561b90
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x194]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x18c]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x188]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x184]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x180]
lea edx, [eax + ecx*2]
mov eax, dword [ebp - 0x17c]
mov dword [ebx], edx
mov ecx, edx
mov dword [ebx + 0x2c], edx
mov dword [ebp - 0x17c], edx
add edx, eax
lea ecx, [eax + ecx*2]
mov eax, ecx
add ecx, ecx
shl eax, 8
mov dword [ebx + 4], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0x178]
add ecx, eax
mov dword [ebp - 0x178], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 7
mov dword [ebx + 8], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x174]
add ecx, eax
mov dword [ebp - 0x174], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 6
mov dword [ebx + 0xc], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x170]
add ecx, eax
mov dword [ebp - 0x170], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 5
mov dword [ebx + 0x10], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x16c]
add ecx, eax
mov dword [ebp - 0x16c], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 4
mov dword [ebx + 0x14], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x168]
add ecx, eax
mov dword [ebp - 0x168], edx
add edx, eax
lea eax, [ecx*8]
add ecx, ecx
mov dword [edi + 0xef4], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x164], edx
add ecx, eax
add edx, eax
lea eax, [ecx*4]
add ecx, ecx
mov dword [ebx + 0x1c], eax
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x48], eax
mov eax, dword [ebp - 0x160]
add ecx, eax
add ecx, ecx
mov dword [ebp - 0x160], edx
add edx, eax
mov dword [edi + 0xefc], ecx
mov eax, ecx
sub eax, edx
mov dword [ebx + 0x4c], eax
mov eax, dword [ebp - 0x15c]
add ecx, eax
mov dword [ebx + 0x24], ecx
mov dword [ebp - 0x15c], edx
mov dword [ebx + 0x28], 0x8000
cmp ecx, 0x8000
ja 0x561e2e
xor ebx, ebx
mov edi, 1
nop word [eax + eax]
mov esi, dword [ebp + edi*4 - 0x198]
mov ecx, 6
sub ecx, edi
mov eax, ebx
shr eax, cl
mov dword [ebp + edi*4 - 0x198], eax
mov eax, dword [ebp - 0x2dc]
shl esi, cl
add eax, 0x50
push esi
add eax, ebx
push edi
push eax
call fcn.0058ad30
inc edi
add esp, 0xc
add ebx, esi
cmp edi, 6
jbe 0x561d50
xor ebx, ebx
xor edi, edi
nop dword [eax]
movzx edx, byte [ebp + edi - 0x1b8]
test edx, edx
je 0x561e0b
mov esi, dword [ebp + edx*4 - 0x198]
lea eax, [esi + 1]
mov dword [ebp + edx*4 - 0x198], eax
mov eax, dword [ebp - 0x2dc]
cmp edx, 6
jb 0x561dc1
mov byte [eax + esi + 0xa0], bl
jmp 0x561e0b
mov ecx, 6
add eax, 0xa0
sub ecx, edx
shl esi, cl
add eax, esi
mov esi, 1
shl esi, cl
add esi, eax
cmp edx, 4
jb 0x561df0
movzx ecx, bx
mov word [eax], cx
mov word [esi - 2], cx
jmp 0x561e0b
movzx ecx, bx
mov edx, ecx
mov word [eax], cx
mov word [eax + 2], dx
mov word [eax + 4], dx
mov word [eax + 6], dx
add eax, 8
cmp eax, esi
jne 0x561df0
inc edi
add ebx, 0x101
cmp edi, 0x20
jb 0x561d90
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00587d99
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00587d99
mov esp, ebp
pop ebp
ret
call fcn.0058827e
int3