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

Disassembly:
push 0x48
mov eax, 0x5c5f72
call fcn.0056b70f
mov ebx, ecx
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
cmp esi, 0x317
jne 0x5066ea
push eax
push ecx
lea eax, [ebx - 0x18]
push eax
call fcn.0052a089
add esp, 0xc
jmp case.0x506b35.33072
lea edi, [ebx - 0x18]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x50671d
push dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [eax]
lea eax, [ebx + 0x3c]
push ecx
push dword [ebp - 0x44]
mov ecx, dword [ebp - 0x50]
push dword [ebp - 0x4c]
push esi
push eax
call dword [edx + 4]
test eax, eax
jne case.0x506b35.33072
push dword [ebp + 0x1c]
lea ecx, [ebx + 4]
push dword [ebp - 0x48]
push dword [ebp - 0x44]
push dword [ebp - 0x4c]
push esi
push edi
call fcn.0053f98d
test eax, eax
jne case.0x506b35.33072
push dword [ebp - 0x44]
mov ecx, 0x664f18
push dword [ebp - 0x4c]
push esi
push edi
call fcn.00546b6d
test eax, eax
jne case.0x506b35.33072
mov eax, 0x812e
cmp esi, eax
ja 0x506b0c
je 0x506afb
mov eax, 0x81
cmp esi, eax
ja 0x50699d
je 0x506f38
cmp esi, 0x11
ja 0x5068a4
je 0x50706c
sub esi, 0xa
je 0x506f46
sub esi, 1
je 0x506883
sub esi, 1
je 0x50682e
sub esi, 1
je 0x5067db
sub esi, 1
je 0x5067bf
dec esi
sub esi, 1
jne case.0x506b35.33072
mov ecx, edi
call fcn.0052913c
xor eax, eax
inc eax
call fcn.0056b6b9
ret 0x18
mov ecx, dword [ebx + 0xec]
test ecx, ecx
je 0x5067d2
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, eax
jmp 0x5067d4
xor ecx, ecx
mov eax, dword [ebp - 0x48]
mov dword [eax], ecx
jmp case.0x506b35.33072
xor esi, esi
mov dword [ebp - 0x14], 7
xor eax, eax
mov dword [ebp - 0x18], esi
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebx + 0xec]
call fcn.00530666
cmp dword [ebp - 0x18], esi
je 0x506813
cmp dword [ebp - 0x14], 8
lea esi, [ebp - 0x28]
cmovae esi, dword [ebp - 0x28]
push 0xffffffffffffffff
push esi
push dword [ebp - 0x4c]
push dword [ebp - 0x44]
call fcn.0056036c
mov ecx, dword [ebp - 0x48]
add esp, 0x10
mov dword [ecx], eax
jmp 0x506cdb
push dword [ebp - 0x44]
lea eax, [ebp - 0x54]
push eax
call fcn.00553df1
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
push dword [eax + 4]
push dword [eax]
call fcn.004d47e7
push dword [ebp - 0x4c]
mov eax, dword [edi]
lea ecx, [ebp - 0x40]
push ecx
mov ecx, edi
mov dword [ebp - 4], 2
call dword [eax + 0xc]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00417a51
mov eax, dword [ebp - 0x48]
mov dword [eax], 1
mov edx, dword [edi]
lea eax, [edi + 0x5c]
push eax
mov ecx, edi
call dword [edx + 0x24]
jmp case.0x506b35.33072
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x506893
and dword [ebx + 0x40], 0xbfffffff
jmp 0x50689a
or dword [ebx + 0x40], 0x40000000
test eax, eax
je case.0x506b35.33072
jmp 0x506873
cmp esi, 0x13
je 0x50706c
cmp esi, 0x18
je 0x506f46
cmp esi, 0x20
je 0x506aeb
cmp esi, 0x2d
jbe case.0x506b35.33072
cmp esi, 0x2f
jbe 0x506992
cmp esi, 0x47
je 0x5068e4
cmp esi, 0x7b
je 0x507006
jmp case.0x506b35.33072
mov eax, dword [ebp - 0x44]
xor esi, esi
mov ecx, dword [eax + 0x18]
test cl, 2
jne 0x50692a
movss xmm0, dword [eax + 0xc]
push 3
call fcn.0056bcf0
movzx esi, ax
mov eax, dword [ebp - 0x44]
shl esi, 0x10
movss xmm0, dword [eax + 8]
call fcn.0056bcf0
movzx eax, ax
mov ecx, edi
or esi, eax
push esi
xor esi, esi
push esi
push 3
call fcn.0054687f
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x18]
jmp 0x50692d
lea edi, [ebx - 0x18]
test cl, 1
jne 0x506969
movss xmm0, dword [eax + 0x14]
push 3
call fcn.0056bcf0
movzx esi, ax
mov eax, dword [ebp - 0x44]
shl esi, 0x10
movss xmm0, dword [eax + 0x10]
call fcn.0056bcf0
movzx eax, ax
mov ecx, edi
or esi, eax
push esi
xor esi, esi
push esi
push 5
call fcn.0054687f
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x18]
test cl, 0xc0
je case.0x506b35.33072
mov eax, dword [ebx + 0x88]
mov ecx, edi
push esi
shr eax, 0x1c
push esi
and eax, 1
push eax
push 0x8190
call fcn.0054681c
jmp case.0x506b35.33072
mov eax, dword [ebp - 0x48]
or dword [eax], 0xffffffff
jmp case.0x506b35.33072
mov eax, 0x112
cmp esi, eax
ja 0x506a76
je 0x506a33
cmp esi, 0xa1
je 0x506a24
cmp esi, 0xa2
je 0x506a15
cmp esi, 0xa3
je 0x506a06
cmp esi, 0xff
jbe case.0x506b35.33072
cmp esi, 0x108
jbe 0x5069f3
cmp esi, 0x110
je 0x506b90
cmp esi, 0x111
jmp 0x5068d9
push dword [ebp - 0x44]
mov ecx, edi
push dword [ebp - 0x4c]
push esi
call fcn.0054684b
jmp 0x506b02
push dword [ebp - 0x44]
mov ecx, edi
call fcn.0053b18e
jmp case.0x506b35.33072
push dword [ebp - 0x44]
mov ecx, edi
call fcn.0053b253
jmp case.0x506b35.33072
push dword [ebp - 0x44]
mov ecx, edi
call fcn.0053b1d4
jmp case.0x506b35.33072
mov eax, dword [ebp - 0x4c]
cmp eax, 0xf060
jne 0x506a4c
push 3
xor eax, eax
mov ecx, edi
push eax
push eax
push 0x10
jmp 0x506d15
mov ecx, eax
and ecx, 0xfff0
cmp ecx, 0xf000
je 0x506a68
cmp ecx, 0xf010
jne case.0x506b35.33072
push eax
push edi
call fcn.0052aa26
pop ecx
pop ecx
jmp case.0x506b35.33072
cmp esi, 0x20a
je 0x507006
cmp esi, 0x210
je 0x507006
cmp esi, 0x217
jbe case.0x506b35.33072
cmp esi, 0x219
jbe 0x50706c
cmp esi, 0x2a8
je 0x506ac6
cmp esi, 0x318
jne case.0x506b35.33072
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp case.0x506b35.33072
test dword [ebx + 0x88], 0x40000
je 0x506aeb
mov ecx, edi
call fcn.00530b2e
mov ecx, edi
push dword [eax + 0x48]
call fcn.00547785
test eax, eax
jne 0x506b90
push 0x7f00
call fcn.0053869e
pop ecx
jmp 0x50706c
push edi
call fcn.00538a05
pop ecx
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
jmp case.0x506b35.33072
mov eax, 0x8161
cmp esi, eax
ja 0x506dba
je 0x507006
add esi, 0xffff7ed1
cmp esi, 0x26
ja case.0x506b35.33072
movzx eax, byte [esi + 0x5070b4]
jmp dword [eax*4 + 0x50707c]
mov eax, dword [ebp - 0x44]
mov ecx, edi
test eax, eax
je 0x506b5e
push eax
call fcn.00530b2e
mov ecx, eax
call fcn.0052f1cf
mov edx, eax
test edx, edx
je case.0x506b35.33072
jmp 0x506b65
call fcn.0052f1ff
mov edx, eax
cmp dword [ebx - 0x10], 0
push 0x60
pop ecx
mov eax, ecx
cmovne eax, dword [ebx - 0x10]
test eax, eax
cmovne ecx, eax
push ecx
push dword [ebp - 0x4c]
lea ecx, [ebx + 0xe4]
push edx
call fcn.00527e24
push 0
mov ecx, edi
call fcn.00526da5
mov ecx, dword [ebp - 0x48]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x5067b7
mov eax, dword [ebp - 0x44]
lea ecx, [ebx + 0xe8]
cmp dword [ecx], eax
je 0x506b90
push eax
call fcn.00524f9b
mov edx, dword [edi]
lea eax, [edi + 0x5c]
push eax
mov ecx, edi
call dword [edx + 0x24]
jmp 0x506b90
mov eax, dword [ebp - 0x44]
mov ecx, edi
test eax, eax
je 0x506bdf
push eax
call fcn.00530b2e
mov ecx, eax
call fcn.0052f1cf
mov edx, eax
test edx, edx
je case.0x506b35.33072
jmp 0x506be6
call fcn.0052f1ff
mov edx, eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebx - 0x10], 0
push 0x60
pop ecx
mov dword [ebp - 4], eax
mov eax, ecx
cmovne eax, dword [ebx - 0x10]
test eax, eax
cmovne ecx, eax
push ecx
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x44]
push edx
call fcn.00527df0
mov esi, dword [ebp - 0x44]
lea ecx, [ebx + 0xe8]
cmp dword [ecx], esi
je 0x506c2b
push esi
call fcn.00524f9b
mov edx, dword [edi]
lea eax, [edi + 0x5c]
push eax
mov ecx, edi
call dword [edx + 0x24]
xor ebx, ebx
inc ebx
mov dword [ebp - 4], ebx
test esi, esi
je 0x506c3b
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x48]
mov dword [eax], ebx
mov eax, ebx
jmp 0x5067b7
mov eax, dword [ebx + 0xe8]
jmp 0x506b02
lea eax, [ebx + 0x98]
mov ecx, edi
push eax
push dword [ebp - 0x44]
call fcn.00548f4b
test eax, eax
je 0x50706c
push 1
push edi
mov ecx, 0x664c34
call fcn.0054813b
jmp 0x50706c
lea eax, [ebx + 0xb0]
mov ecx, edi
push eax
push dword [ebp - 0x44]
call fcn.00548f4b
jmp case.0x506b35.33072
and dword [ebp - 0x18], 0
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov ebx, dword [ebp - 0x44]
lea eax, [ebp - 0x28]
push eax
push ebx
mov ecx, edi
mov dword [ebp - 4], 3
call fcn.00548f4b
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
test eax, eax
je 0x506cdb
push dword [ebx]
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, edi
call dword [eax + 0xc]
mov edx, dword [edi]
lea eax, [edi + 0x5c]
push eax
mov ecx, edi
call dword [edx + 0x24]
lea ecx, [ebp - 0x28]
call fcn.00417a51
jmp case.0x506b35.33072
test byte [ebx + 0x8c], 0x10
je case.0x506b35.33072
cmp dword [ebx + 0x18], 0
je case.0x506b35.33072
push 3
push dword [ebp - 0x44]
mov ecx, edi
push dword [ebp - 0x4c]
push 0x813f
call fcn.0052f774
mov ecx, eax
call fcn.0054687f
jmp case.0x506b35.33072
push dword [ebp - 0x4c]
push edi
call fcn.00538962
pop ecx
jmp 0x506b01
push 1
push 0
push edi
call fcn.0052f672
add esp, 0xc
jmp 0x506b02
push 1
push 1
jmp 0x506d32
mov eax, dword [ebx - 0x10]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
cmp esi, eax
je case.0x506b35.33072
push 0
mov ecx, edi
mov dword [ebx - 0x10], esi
call fcn.00526da5
push 3
push dword [ebp - 0x50]
mov ecx, edi
push esi
push 0x8150
call fcn.0054687f
mov esi, dword [ebx + 0x1c]
jmp 0x506d91
push 3
push dword [ebp - 0x44]
mov ecx, esi
push dword [ebp - 0x4c]
push 0x8151
call fcn.0054687f
mov esi, dword [esi + 0x38]
test esi, esi
jne 0x506d7a
jmp case.0x506b35.33072
mov esi, dword [ebp - 0x4c]
lea ecx, [ebx + 0xe4]
push esi
call fcn.00526cdf
push esi
lea ecx, [ebx + 0xe8]
call fcn.00526d15
jmp case.0x506b35.33072
mov eax, 0x81ff
cmp esi, eax
ja 0x506fd0
je 0x506fb0
cmp esi, 0x8190
jb case.0x506b35.33072
cmp esi, 0x8191
jbe 0x506f46
cmp esi, 0x81fa
je 0x506f0a
cmp esi, 0x81fb
je 0x506ebb
cmp esi, 0x81fc
je 0x506e7f
cmp esi, 0x81fd
je 0x506e56
cmp esi, 0x81fe
jne case.0x506b35.33072
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
test dl, 8
je 0x506e2d
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x80], eax
test dl, 4
je 0x506e38
mov eax, dword [ecx + 8]
mov dword [ebx + 0x7c], eax
test dl, 2
je 0x506e43
mov eax, dword [ecx + 4]
mov dword [ebx + 0x78], eax
test dl, 1
je case.0x506b35.33072
mov eax, dword [ecx]
mov dword [ebx + 0x74], eax
jmp case.0x506b35.33072
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je case.0x506b35.33072
movsx eax, word [ebx + 0x66]
movd xmm3, eax
movsx eax, word [ebx + 0x68]
movd xmm2, eax
movsx eax, word [ebx + 0x6a]
movd xmm1, eax
movsx eax, word [ebx + 0x64]
jmp 0x506ee2
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je case.0x506b35.33072
cvttss2si eax, dword [ecx]
push 0
mov word [ebx + 0x64], ax
cvttss2si eax, dword [ecx + 8]
mov word [ebx + 0x68], ax
cvttss2si eax, dword [ecx + 4]
mov word [ebx + 0x66], ax
cvttss2si eax, dword [ecx + 0xc]
mov ecx, edi
mov word [ebx + 0x6a], ax
call fcn.00527041
jmp case.0x506b35.33072
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je case.0x506b35.33072
movsx eax, word [ebx + 0x6e]
movd xmm3, eax
movsx eax, word [ebx + 0x70]
movd xmm2, eax
movsx eax, word [ebx + 0x72]
movd xmm1, eax
movsx eax, word [ebx + 0x6c]
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm0, xmm0
movss dword [ecx + 4], xmm3
movss dword [ecx], xmm0
movss dword [ecx + 8], xmm2
movss dword [ecx + 0xc], xmm1
jmp case.0x506b35.33072
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je case.0x506b35.33072
cvttss2si eax, dword [ecx]
mov word [ebx + 0x6c], ax
cvttss2si eax, dword [ecx + 8]
mov word [ebx + 0x70], ax
cvttss2si eax, dword [ecx + 4]
mov word [ebx + 0x6e], ax
cvttss2si eax, dword [ecx + 0xc]
mov word [ebx + 0x72], ax
push 0
mov ecx, edi
call fcn.00526da5
jmp case.0x506b35.33072
mov ecx, edi
call fcn.0052f74c
mov ecx, eax
call fcn.00530b2e
mov esi, eax
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x50]
lea ecx, [ebx - 0x18]
xor ebx, ebx
mov dword [ebp - 0x50], ecx
cmp eax, ecx
je 0x506f75
push eax
mov ecx, edi
call fcn.00534bf5
test eax, eax
je 0x506f7d
mov eax, dword [esi]
mov ecx, esi
push ebx
call dword [eax + 0x4c]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x58]
mov esi, eax
test esi, esi
je case.0x506b35.33072
cmp esi, dword [ebp - 0x50]
je 0x506fa3
push esi
mov ecx, edi
call fcn.00534bf5
test eax, eax
je case.0x506b35.33072
push ebx
mov ecx, esi
call fcn.0054790a
jmp case.0x506b35.33072
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebx + 0x80]
mov dword [ecx + 0xc], eax
mov eax, dword [ebx + 0x7c]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x78]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x74]
jmp 0x506b05
sub esi, 0x820b
je 0x5067ad
sub esi, 7
je 0x50704d
sub esi, 1
je 0x50702a
sub esi, 0x13
je 0x507001
sub esi, 0x2a
jne case.0x506b35.33072
mov eax, dword [ebx + 0x40]
and eax, 0x2000000
jmp 0x506b02
mov esi, 0x111
mov ecx, edi
call fcn.0052f774
test eax, eax
je case.0x506b35.33072
push 0
push dword [ebp - 0x44]
mov ecx, eax
push dword [ebp - 0x4c]
push esi
call fcn.0054687f
jmp 0x506b02
cmp dword [ebp - 0x44], 0
je 0x507041
mov ecx, dword [ebp - 0x4c]
lea eax, [ebx + 0xc8]
push eax
call fcn.00521d95
jmp 0x50706c
push dword [ebp - 0x4c]
mov ecx, edi
call fcn.0052fe3d
jmp 0x50706c
push dword [ebp - 0x4c]
lea ecx, [ebx + 0xc8]
call fcn.00521d95
cmp dword [ebp - 0x44], 0
je 0x50706c
mov edx, dword [edi]
lea eax, [edi + 0x5c]
push eax
mov ecx, edi
call dword [edx + 0x24]
mov eax, dword [ebp - 0x48]
mov dword [eax], 1
jmp case.0x506b35.33072