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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
mov eax, dword [0x4c900c]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [0x4c9c24]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], eax
cmp byte [edi + 0x67], 0
je 0x475408
movups xmm0, xmmword [eax + 0x4698]
mov esi, dword [eax + 0x46a8]
movaps xmmword [esp + 0x90], xmm0
call fcn.00473b90
mov eax, dword [esp + 0x10]
movaps xmm0, xmmword [esp + 0x90]
mov edx, dword [esp + 0x24]
movups xmmword [eax + 0x4698], xmm0
mov dword [eax + 0x46a8], esi
mov eax, dword [eax + 0x3e38]
mov dword [esp + 0x18], eax
cmp byte [eax + 0xab], 0
je 0x475431
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.004a7a88
mov esp, ebp
pop ebp
ret
push ecx
mov ecx, edi
call fcn.00474ab0
add esp, 4
mov dword [esp + 0xc], eax
mov edx, eax
mov ecx, edi
call fcn.00474b40
mov ecx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov esi, eax
mov byte [esp + 9], 0
test esi, esi
jne 0x47554a
mov esi, dword [edi + 4]
or eax, 0xffffffff
xorps xmm0, xmm0
mov word [esp + 0x86], ax
mov word [esp + 0x84], ax
mov eax, dword [edi]
movlpd qword [esp + 0x60], xmm0
movlpd qword [esp + 0x70], xmm0
mov dword [esp + 0x78], 0
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x7c], 0xbf800000
mov dword [esp + 0x80], 0xffffffff
cmp eax, esi
jne 0x4754e0
lea ecx, [eax + 1]
test esi, esi
je 0x4754c6
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
jmp 0x4754cb
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.00476680
mov eax, dword [edi]
mov ecx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movups xmm0, xmmword [esp + 0x60]
imul eax, eax, 0x2c
add eax, dword [edi + 8]
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0x70]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x80]
movq qword [eax + 0x20], xmm0
mov dword [eax + 0x28], 0
inc dword [edi]
mov eax, dword [edi]
test eax, eax
jg 0x47552a
push 0x707
push str.d:CProjectsSCUMSX2_srcimguiimgui.h
push str.Size___0
call ecx
mov eax, dword [edi]
add esp, 0xc
mov esi, dword [edi + 8]
imul ecx, eax, 0x2c
add esi, 0xffffffd4
add esi, ecx
mov byte [esp + 9], 1
mov ecx, dword [esp + 0xc]
mov dword [esi], ecx
mov ecx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov byte [edi + 0x69], 1
mov edx, dword [edi + 8]
cmp esi, edx
jb 0x47555a
imul eax, dword [edi], 0x2c
add eax, edx
cmp esi, eax
jb 0x475571
push 0x71f
push str.d:CProjectsSCUMSX2_srcimguiimgui.h
push 0x4b9e9c
call ecx
mov edx, dword [edi + 8]
add esp, 0xc
mov ecx, esi
mov eax, 0x2e8ba2e9
sub ecx, edx
imul ecx
push 0
sar edx, 3
lea ecx, [esp + 0x3c]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x28]
mov word [edi + 0x6c], ax
call fcn.00475c10
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [esi + 0x1c], 0xbf800000
test byte [ecx + 0x4698], 1
je 0x4755bf
movss xmm1, dword [ecx + 0x469c]
movss dword [esi + 0x1c], xmm1
jmp 0x4755c5
movss xmm1, dword [esp + 0x38]
cmp byte [esp + 9], 0
movss xmm0, dword [0x4c194c]
je 0x4755dd
maxss xmm0, xmm1
movss dword [esi + 0x14], xmm0
movss dword [esi + 0x18], xmm1
mov ax, word [edi + 0x6a]
mov word [esi + 0x24], ax
mov eax, dword [edi + 0x24]
inc word [edi + 0x6a]
inc eax
mov ecx, dword [ecx + 0x3dd8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
shr eax, 0x15
and eax, 0xffffff01
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], eax
mov eax, dword [esi + 8]
mov dword [esi + 8], ecx
inc eax
mov dword [esi + 4], 0x100000
mov ecx, dword [edi + 0x84]
mov dword [esp + 0x1c], eax
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov edx, ecx
lea eax, [edx + 1]
mov dword [esp + 0x20], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x475640
sub edx, dword [esp + 0x20]
lea eax, [ecx + 1]
add eax, edx
push eax
push ecx
lea ecx, [edi + 0x84]
call fcn.00426210
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x1c], eax
jge 0x475684
test byte [edi + 0xc], 2
je 0x475684
cmp dword [edi + 0x18], 0
jne 0x475684
cmp dword [esp + 0x14], eax
jge 0x47567f
cmp dword [edi + 0x14], 0
jne 0x475684
mov eax, dword [esi]
mov dword [edi + 0x18], eax
mov edx, dword [esp + 0xc]
cmp dword [edi + 0x1c], edx
sete cl
mov dword [esp + 0x28], ecx
mov byte [esp + 0x44], cl
jne 0x47569c
mov byte [edi + 0x68], 1
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], 1
test cl, cl
jne 0x4756d1
cmp dword [edi + 0x14], 0
jne 0x4756d1
cmp eax, dword [esp + 0x2c]
jge 0x4756d1
cmp dword [edi], 1
jne 0x4756d1
test byte [edi + 0xc], 2
movzx ecx, cl
cmove ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
mov byte [esp + 0x44], cl
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x1c], ecx
jge 0x47571c
cmp eax, ecx
jge 0x4756e6
cmp byte [esp + 9], 0
je 0x47571c
xorps xmm0, xmm0
lea ecx, [esp + 0x90]
push 8
push 0
movups xmmword [esp + 0x98], xmm0
call fcn.00437750
mov al, byte [esp + 0x30]
add esp, 8
pop edi
pop esi
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.004a7a88
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x14], edx
jne 0x47572e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x3dd8]
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 4]
movss xmm3, dword [esi + 0x14]
movss xmm1, dword [edi + 0x2c]
movss xmm0, dword [ecx + 0xec]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [ecx + 0xf0]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esi + 0x10]
and edx, 0xc0
jne 0x475781
subss xmm0, dword [edi + 0x48]
xorps xmm4, xmm4
addss xmm1, xmm4
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x475788
xorps xmm2, xmm2
addss xmm1, xmm2
addss xmm0, dword [edi + 0x28]
movss dword [ecx + 0xec], xmm0
movss dword [ecx + 0xf0], xmm1
movss xmm2, dword [ecx + 0xec]
movss xmm5, dword [ecx + 0xf0]
movaps xmm1, xmm2
movss dword [esp + 0x54], xmm2
addss xmm1, xmm3
movss dword [esp + 0x34], xmm5
movaps xmm3, xmm5
movss dword [esp + 0x90], xmm2
movss dword [esp + 0x94], xmm5
addss xmm3, dword [esp + 0x3c]
movss dword [esp + 0x50], xmm1
movss dword [esp + 0x98], xmm1
movss dword [esp + 0x38], xmm3
movss dword [esp + 0x9c], xmm3
test edx, edx
jne 0x475871
movss xmm4, dword [edi + 0x58]
comiss xmm4, xmm2
ja 0x47580d
comiss xmm1, dword [edi + 0x5c]
jbe 0x475871
movss xmm0, dword [edi + 0x5c]
lea edx, [esp + 0x58]
movss dword [esp + 0x58], xmm0
lea ecx, [esp + 0x48]
movaps xmm0, xmm2
mov byte [esp + 9], 1
maxss xmm0, xmm4
movss dword [esp + 0x5c], xmm3
push 1
movss dword [esp + 0x4c], xmm0
movaps xmm0, xmm5
subss xmm0, dword [0x4c194c]
movss dword [esp + 0x50], xmm0
call fcn.0042d010
movss xmm1, dword [esp + 0x54]
add esp, 4
movss xmm2, dword [esp + 0x54]
movss xmm3, dword [esp + 0x38]
movss xmm5, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
jmp 0x475876
mov byte [esp + 9], 0
movss xmm0, dword [ecx + 0x104]
subss xmm1, xmm2
mov eax, dword [esp + 0x10]
subss xmm3, xmm5
movss dword [esp + 0x34], xmm0
movss xmm0, dword [ecx + 0x108]
lea ecx, [esp + 0x48]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x48], xmm1
movss xmm1, dword [eax + 0x37d8]
movss dword [esp + 0x4c], xmm3
call fcn.004375f0
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x90]
movss xmm0, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
push 0
movss dword [eax + 0x104], xmm0
movss xmm0, dword [esp + 0x3c]
push 0
movss dword [eax + 0x108], xmm0
call fcn.00437750
add esp, 8
test al, al
jne 0x475939
cmp byte [esp + 9], al
je 0x475901
call fcn.0042d0b0
mov eax, dword [esp + 0x18]
movss xmm0, dword [esp + 0x14]
movss dword [eax + 0xec], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [eax + 0xf0], xmm0
mov al, byte [esp + 0x28]
pop edi
pop esi
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.004a7a88
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
mov edx, 0x1010
mov eax, 0x1210
cmp byte [ecx + 0x4940], 0
lea ecx, [esp + 0x90]
cmove eax, edx
mov edx, dword [esp + 0xc]
push eax
lea eax, [esp + 0xe]
push eax
lea eax, [esp + 0x13]
push eax
call fcn.0045f9c0
add esp, 0xc
test al, al
je 0x475978
mov eax, dword [esi]
mov dword [edi + 0x18], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
cmp dword [ecx + 0x3e84], eax
mov eax, dword [0x4c9c24]
je 0x4759b1
mov edx, dword [eax + 0x46ac]
cmp dword [eax + 0x3e70], edx
jne 0x4759a2
mov byte [eax + 0x3e78], 1
cmp dword [eax + 0x3e84], edx
jne 0x4759b1
mov byte [eax + 0x3e91], 1
cmp byte [esp + 0xa], 0
je 0x475a4e
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x2c]
jl 0x475a4e
cmp byte [eax + 0xdc0], 0
je 0x475a4e
movss xmm1, dword [eax + 0x30]
movss xmm0, dword [eax + 0x3750]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
test al, al
je 0x475a4e
cmp byte [ecx + 0x4940], 0
jne 0x475a4e
test byte [edi + 0xc], 1
je 0x475a4e
movss xmm1, dword [ecx + 0xb4]
xorps xmm2, xmm2
comiss xmm2, xmm1
jbe 0x475a1f
movss xmm0, dword [esp + 0x90]
comiss xmm0, dword [ecx + 0xdb8]
ja 0x475a36
comiss xmm1, xmm2
jbe 0x475a4e
movss xmm0, dword [ecx + 0xdb8]
comiss xmm0, dword [esp + 0x98]
jbe 0x475a4e
push dword [ecx + 0xdbc]
mov edx, esi
push dword [ecx + 0xdb8]
mov ecx, edi
call fcn.00474bd0
add esp, 8
cmp byte [esp + 0xa], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x260]
mov dword [esp + 0x1c], eax
jne 0x475a98
cmp byte [esp + 0xb], 0
jne 0x475a98
cmp byte [esp + 0x28], 0
je 0x475a84
mov eax, dword [esp + 0x40]
movzx eax, al
xor eax, 1
lea ecx, [eax*2 + 0x23]
jmp 0x475a9d
cmp byte [esp + 0x40], 0
mov ecx, 0x24
mov edx, 0x21
cmovne ecx, edx
jmp 0x475a9d
mov ecx, 0x22
movss xmm1, dword [0x4c194c]
call fcn.00427800
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x90]
push eax
push 0x100000
call fcn.00475d10
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x98]
push 1
call fcn.00428810
add esp, 0xc
mov ecx, 0x20
call fcn.0042ac30
test al, al
je 0x475b19
xor edx, edx
push 0
lea ecx, [edx + 1]
call fcn.00435180
add esp, 4
test al, al
jne 0x475b14
mov eax, dword [0x4c9c24]
cmp byte [eax + 0x3717], 0
je 0x475b19
xor edx, edx
mov ecx, 0x282
call fcn.00437000
test al, al
je 0x475b19
mov eax, dword [esi]
mov dword [edi + 0x18], eax
push dword [edi + 0x78]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xf]
push dword [edi + 0x74]
lea edx, [esp + 0x98]
push eax
lea eax, [esp + 0x3f]
push eax
push dword [esp + 0x54]
mov eax, dword [edi + 0xc]
push 0
push dword [esp + 0x24]
and eax, 8
push dword [esp + 0x40]
or eax, 0x200000
shr eax, 1
push eax
call fcn.00476190
add esp, 0x24
cmp byte [esp + 9], 0
je 0x475b64
call fcn.0042d0b0
cmp byte [esp + 0xb], 0
mov eax, dword [esp + 0x18]
movss xmm0, dword [esp + 0x14]
movss dword [eax + 0xec], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [eax + 0xf0], xmm0
je 0x475bee
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp dword [eax + 0x3e70], ecx
jne 0x475bee
cmp byte [esp + 0xa], 0
jne 0x475bee
test byte [edi + 0xc], 0x20
jne 0x475bee
test byte [esi + 4], 0x10
jne 0x475bee
mov ecx, 0x800
call fcn.0042ac30
test al, al
je 0x475bee
mov edx, dword [esp + 0x24]
mov eax, edx
cmp edx, 0xffffffff
jae 0x475bdd
mov cl, byte [eax]
test cl, cl
je 0x475bdd
cmp cl, 0x23
jne 0x475bd7
cmp byte [eax + 1], cl
je 0x475bdd
inc eax
cmp eax, 0xffffffff
jb 0x475bc7
push edx
sub eax, edx
push eax
push str._.s
call fcn.00438ab0
add esp, 0xc
mov ecx, dword [esp + 0xac]
mov al, byte [esp + 0x28]
pop edi
pop esi
xor ecx, esp
call fcn.004a7a88
mov esp, ebp
pop ebp
ret