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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xc0
mov esi, ecx
mov eax, dword [0x7aa024]
xor eax, ebp
mov dword [esp + 0xb8], eax
mov ecx, dword [ecx + 0x10]
lea eax, [ecx + 1]
cmp eax, dword [esi + 0xc]
ja 0x600e46
mov edx, dword [esi + 8]
mov dword [esi + 0x10], eax
cmp byte [edx + ecx], 0x7b
jne 0x600e48
lea edx, [esi + 0x14]
mov ecx, edx
shr ecx, 0xe
xor eax, eax
inc eax
shl eax, cl
mov dword [esp + 0x28], eax
mov eax, edx
shr eax, 0x13
mov dword [esp + 0x24], eax
mov eax, dword [eax*4 + 0x7b1224]
bt eax, ecx
mov dword [esp + 8], esi
mov esi, dword [esi + 4]
mov dword [esp + 0x1c], edx
jb 0x600e8f
mov eax, edx
shr eax, 0x15
mov byte [eax + 0x7b9224], 1
mov eax, dword [edx]
inc eax
mov dword [edx], eax
cmp eax, esi
jae 0x600ea1
mov ecx, dword [esp + 8]
call fcn.006004f0
mov esi, eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], 0
cmp esi, 4
jne 0x600b1d
lea eax, [esp + 0x7c]
pcmpeqd xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0xffffffff
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov byte [esp + 0x7c], 0
mov edi, dword [esp + 8]
mov ecx, edi
lea eax, [esp + 0x74]
push eax
call fcn.00601a40
test al, al
je 0x600d4a
mov ecx, edi
call fcn.006004f0
cmp eax, 0xa
jne 0x600d70
mov eax, dword [edi + 0x10]
inc eax
cmp eax, dword [edi + 0xc]
ja 0x600718
mov dword [edi + 0x10], eax
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x5c], xmm0
movdqa xmmword [esp + 0x50], xmm0
mov ecx, edi
call fcn.006004f0
cmp eax, 8
ja case.0x600738.1
jmp dword [eax*4 + 0x79309c]
mov ecx, dword [esp + 8]
lea eax, [esp + 0x50]
push eax
call fcn.00601750
cmp byte [esp + 0x50], 0
je 0x600d1f
cmp byte [esp + 0x7c], 0
jne 0x600c90
mov ebx, dword [esp + 0x78]
cmp ebx, 0xfffffff0
jae 0x600d45
mov eax, dword [esp + 0x74]
cmp ebx, 0xb
jae 0x60078d
mov byte [esp + 0x9b], bl
lea esi, [esp + 0x90]
test ebx, ebx
jne 0x6007c1
jmp 0x6007cc
lea edi, [ebx + 0x10]
and edi, 0xfffffff0
push edi
mov dword [esp + 0x18], eax
call fcn.0064cd3e
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x90], esi
or edi, 0x80000000
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebx
push ebx
push eax
push esi
call fcn.00650080
add esp, 0xc
mov byte [esi + ebx], 0
mov ebx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x20]
jb 0x600a24
mov ecx, dword [esp + 0xc]
sub ebx, ecx
sar ebx, 5
lea eax, [ebx + 1]
cmp eax, 0x8000000
jae 0x600d45
mov edx, dword [esp + 0x20]
sub edx, ecx
mov ecx, edx
sar ecx, 4
cmp ecx, eax
cmovbe ecx, eax
cmp edx, 0x7fffffe0
mov esi, ecx
mov eax, 0x7ffffff
cmovae esi, eax
test esi, esi
je 0x600e01
cmp esi, 0x8000000
jae 0x600e39
mov eax, esi
shl eax, 5
push eax
call fcn.0064cd3e
add esp, 4
mov edi, eax
shl ebx, 5
mov eax, dword [esp + 0x98]
lea ecx, [edi + ebx]
add ecx, 0xc
mov dword [ecx - 4], eax
lea eax, [edi + ebx]
mov dword [esp + 0x14], eax
movq xmm0, qword [esp + 0x90]
movq qword [ecx - 0xc], xmm0
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], eax
shl esi, 5
mov dword [esp + 0x20], esi
lea eax, [esp + 0x54]
push eax
call fcn.005efd90
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0xc]
je 0x6008f9
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x14]
lea esi, [eax - 0x20]
mov edx, dword [eax - 0x18]
mov dword [ecx - 0x18], edx
lea edx, [ecx - 0x20]
mov dword [esp + 0x14], edx
movq xmm0, qword [eax - 0x20]
movq qword [ecx - 0x20], xmm0
xor edx, edx
mov dword [eax - 0x1c], edx
mov dword [eax - 0x20], edx
mov dword [eax - 0x18], edx
add ecx, 0xffffffec
add eax, 0xffffffec
push eax
call fcn.005efd90
mov eax, esi
cmp esi, dword [esp + 0xc]
jne 0x600897
mov esi, dword [esp + 0x10]
lea edi, [esi - 0x20]
lea ecx, [esi - 0x14]
call fcn.005f16e0
cmp byte [esi - 0x15], 0
js 0x600df1
mov esi, edi
cmp edi, dword [esp + 0xc]
jne 0x6008d8
mov edi, dword [esp + 0x2c]
add dword [esp + 0x20], edi
lea eax, [edi + ebx]
add eax, 0x20
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x600918
push eax
call fcn.0064cd6e
add esp, 4
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], eax
cmp byte [esp + 0x9b], 0
js 0x600ddd
mov edi, dword [esp + 8]
mov ecx, edi
call fcn.006004f0
xor ebx, ebx
cmp eax, 9
jne 0x600999
mov eax, dword [edi + 0x10]
inc eax
cmp eax, dword [edi + 0xc]
ja 0x60094c
mov dword [edi + 0x10], eax
mov ecx, edi
call fcn.006004f0
cmp eax, 1
je 0x600e08
mov esi, eax
cmp byte [esp + 0x50], 0
je 0x60096e
lea ecx, [esp + 0x54]
call fcn.005f16e0
cmp byte [esp + 0x7c], 0
jne 0x600dbb
test ebx, ebx
je 0x6006b9
jmp 0x600f2d
mov ecx, dword [esp + 8]
lea eax, [esp + 0x50]
push eax
call fcn.00600ff0
jmp 0x60074d
mov esi, eax
cmp eax, 1
je 0x60095e
jmp 0x600f7d
lea eax, [esp + 0x98]
pcmpeqd xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0xffffffff
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov byte [esp + 0x98], 0
mov ecx, dword [esp + 8]
lea eax, [esp + 0x90]
push eax
call fcn.00601a40
test al, al
je 0x600fa1
cmp byte [esp + 0x98], 0
jne 0x600cbd
mov ebx, dword [esp + 0x94]
cmp ebx, 0xfffffff0
jae 0x600d45
mov eax, dword [esp + 0x90]
cmp ebx, 0xb
jae 0x600a6b
mov byte [esp + 0x3b], bl
lea esi, [esp + 0x30]
test ebx, ebx
jne 0x600a96
jmp 0x600aa1
mov eax, dword [esp + 0x98]
mov dword [ebx + 8], eax
movq xmm0, qword [esp + 0x90]
movq qword [ebx], xmm0
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], eax
lea ecx, [ebx + 0xc]
lea eax, [esp + 0x54]
push eax
call fcn.005efd90
add ebx, 0x20
mov dword [esp + 0x10], ebx
jmp 0x600920
lea edi, [ebx + 0x10]
and edi, 0xfffffff0
push edi
mov dword [esp + 0x18], eax
call fcn.0064cd3e
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], esi
or edi, 0x80000000
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
push ebx
push eax
push esi
call fcn.00650080
add esp, 0xc
mov byte [esi + ebx], 0
lea esi, [esp + 0x3c]
mov ecx, esi
lea eax, [esp + 0x30]
push eax
call fcn.005f0160
mov byte [esp + 0x50], 1
lea ecx, [esp + 0x54]
push esi
call fcn.005efd90
mov ecx, esi
call fcn.005f16e0
cmp byte [esp + 0x3b], 0
js 0x600fbe
cmp byte [esp + 0x98], 0
je 0x60074d
cmp byte [esp + 0xa7], 0
jns 0x60074d
jmp 0x600fcf
mov ecx, dword [esp + 8]
lea eax, [esp + 0x50]
push eax
call fcn.0056d200
jmp 0x60074d
mov ecx, dword [esp + 8]
lea eax, [esp + 0x50]
push eax
call fcn.00600600
jmp 0x60074d
cmp esi, 1
jne 0x600ef1
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x10]
inc eax
cmp eax, dword [ecx + 0xc]
ja 0x600b36
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x10]
cmp dword [esp + 0xc], eax
je 0x600bcc
mov eax, dword [esp + 0x10]
lea esi, [eax - 0x20]
cmp dword [esp + 0xc], esi
jae 0x600bcc
mov edi, dword [esp + 0xc]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
mov ebx, dword [esi + 8]
mov dword [edi + 8], ebx
movq xmm0, qword [esi]
movq qword [edi], xmm0
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa0], 0xffffffff
lea edx, [edi + 0xc]
mov dword [esp + 8], edx
lea ecx, [esp + 0x90]
push edx
call fcn.005efd90
lea ebx, [esi + 0xc]
mov ecx, dword [esp + 8]
push ebx
call fcn.005efe50
mov ecx, ebx
lea ebx, [esp + 0x90]
push ebx
call fcn.005efe50
mov ecx, ebx
call fcn.005f16e0
add edi, 0x20
add esi, 0xffffffe0
cmp edi, esi
jb 0x600b55
mov eax, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x10]
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x80], ecx
lea edi, [esp + 0x74]
mov ecx, edi
push edx
push eax
call fcn.0056d300
lea esi, [esp + 0x90]
mov ecx, esi
push edi
call fcn.005f0310
mov eax, dword [ebp + 8]
mov byte [eax], 1
mov ecx, dword [esp + 0x18]
push esi
call fcn.005efd90
mov ecx, esi
call fcn.005f16e0
mov esi, dword [esp + 0x78]
test esi, esi
je 0x600c56
mov edi, dword [esp + 0x7c]
cmp edi, esi
je 0x600c8c
lea ebx, [edi - 0x20]
lea ecx, [edi - 0x14]
call fcn.005f16e0
cmp byte [edi - 0x15], 0
js 0x600dab
mov edi, ebx
cmp ebx, esi
jne 0x600c2a
mov eax, dword [esp + 0x78]
mov dword [esp + 0x7c], esi
push eax
call fcn.0064cd6e
add esp, 4
mov eax, dword [esp + 0x1c]
dec dword [eax]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
test dword [edx*4 + 0x7b1224], ecx
jne 0x600ee3
mov ecx, dword [esp + 0xb8]
xor ecx, ebp
call fcn.0064d372
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov eax, esi
jmp 0x600c49
lea ecx, [esp + 0x80]
mov eax, dword [ecx + 8]
mov dword [esp + 0x98], eax
movq xmm0, qword [ecx]
movq qword [esp + 0x90], xmm0
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 8], eax
jmp 0x6007d0
lea ecx, [esp + 0x9c]
mov eax, dword [ecx + 8]
mov dword [esp + 0x38], eax
movq xmm0, qword [ecx]
movq qword [esp + 0x30], xmm0
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 8], eax
jmp 0x600aa5
mov edx, dword [esp + 8]
mov dword [edx + 0x20], 3
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x18]
mov dword [edx + 0x24], ecx
sub eax, dword [edx + 0x1c]
xor ecx, ecx
inc ecx
cmp eax, 2
cmovge ecx, eax
mov dword [edx + 0x28], ecx
mov byte [esp + 0x50], 0
pxor xmm0, xmm0
lea eax, [esp + 0x54]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov esi, 0xa
mov eax, dword [ebp + 8]
mov byte [eax], 0
pxor xmm0, xmm0
mov eax, dword [esp + 0x18]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0
xor ebx, ebx
inc ebx
jmp 0x60095e
call fcn.006626d0
mov eax, dword [ebp + 8]
mov byte [eax], 0
pxor xmm0, xmm0
mov eax, dword [esp + 0x18]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov esi, 4
xor ebx, ebx
inc ebx
jmp 0x60096e
mov esi, eax
xor ebx, ebx
inc ebx
mov dword [edi + 0x20], ebx
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
mov dword [edi + 0x24], ecx
sub eax, dword [edi + 0x1c]
cmp eax, 2
cmovl eax, ebx
mov dword [edi + 0x28], eax
mov eax, dword [ebp + 8]
mov byte [eax], 0
pxor xmm0, xmm0
mov eax, dword [esp + 0x18]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0
jmp 0x60096e
push dword [edi - 0x20]
call fcn.0064cd6e
add esp, 4
jmp 0x600c3f
cmp byte [esp + 0x8b], 0
jns 0x600979
push dword [esp + 0x80]
call fcn.0064cd6e
add esp, 4
jmp 0x600979
push dword [esp + 0x90]
call fcn.0064cd6e
add esp, 4
jmp 0x60092e
push dword [esi - 0x20]
call fcn.0064cd6e
add esp, 4
jmp 0x6008ed
xor edi, edi
jmp 0x600839
mov eax, dword [esp + 8]
test byte [eax], 1
jne 0x600e3e
mov edx, dword [esp + 8]
mov dword [edx + 0x20], 4
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x18]
mov dword [edx + 0x24], ecx
sub eax, dword [edx + 0x1c]
xor esi, esi
inc esi
cmp eax, 2
cmovl eax, esi
mov dword [edx + 0x28], eax
jmp 0x600d24
call fcn.0067fe60
xor esi, esi
inc esi
jmp 0x60095e
mov eax, ecx
mov dword [esi + 0x20], 3
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x24], ecx
sub eax, dword [esi + 0x1c]
xor ecx, ecx
inc ecx
cmp eax, 2
cmovge ecx, eax
mov dword [esi + 0x28], ecx
mov esi, dword [ebp + 8]
mov byte [esi], 0
pxor xmm0, xmm0
movdqu xmmword [esi + 4], xmm0
mov dword [esi + 0x14], 0
mov ecx, dword [esp + 0xb8]
xor ecx, ebp
call fcn.0064d372
mov eax, esi
jmp 0x600c82
push edx
call fcn.005e5030
mov edx, dword [esp + 0x20]
add esp, 4
jmp 0x60067f
mov edx, dword [esp + 8]
mov dword [edx + 0x20], 5
mov eax, dword [edx + 0x18]
mov ecx, dword [edx + 0x1c]
mov dword [edx + 0x24], eax
not ecx
add ecx, dword [edx + 0x10]
cmp ecx, 2
mov eax, 1
cmovge eax, ecx
mov dword [edx + 0x28], eax
mov eax, dword [ebp + 8]
mov byte [eax], 0
pxor xmm0, xmm0
movdqu xmmword [eax + 4], xmm0
mov dword [eax + 0x14], 0
jmp 0x600c56
push eax
call fcn.005e5140
add esp, 4
jmp 0x600c71
mov edx, dword [esp + 8]
mov dword [edx + 0x20], 8
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x18]
mov dword [edx + 0x24], ecx
sub eax, dword [edx + 0x1c]
cmp eax, 2
mov ecx, 1
cmovge ecx, eax
mov dword [edx + 0x28], ecx
mov eax, dword [ebp + 8]
mov byte [eax], 0
xorps xmm0, xmm0
mov eax, dword [esp + 0x18]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
cmp dword [esp + 0xc], 0
mov eax, dword [esp + 0x1c]
je 0x600c5a
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0xc]
je 0x600f74
mov edi, dword [esp + 0x10]
lea esi, [edi - 0x20]
lea ecx, [edi - 0x14]
call fcn.005f16e0
cmp byte [edi - 0x15], 0
jns 0x600f6a
mov eax, dword [esp + 0x10]
push dword [eax - 0x20]
call fcn.0064cd6e
add esp, 4
mov dword [esp + 0x10], esi
cmp esi, dword [esp + 0xc]
jne 0x600f46
push dword [esp + 0xc]
jmp 0x600c4e
xor eax, eax
inc eax
mov edi, dword [esp + 8]
mov dword [edi + 0x20], eax
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x18]
mov dword [edi + 0x24], edx
sub ecx, dword [edi + 0x1c]
cmp ecx, 2
cmovl ecx, eax
mov dword [edi + 0x28], ecx
jmp 0x600d24
mov byte [esp + 0x50], 0
pxor xmm0, xmm0
lea eax, [esp + 0x54]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0
jmp 0x600ad6
push dword [esp + 0x30]
call fcn.0064cd6e
add esp, 4
jmp 0x600ad6
push dword [esp + 0x9c]
call fcn.0064cd6e
add esp, 4
jmp 0x60074d