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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb8
push esi
mov esi, dword [0x4dca24]
mov dword [esp + 0x30], edx
push edi
mov dword [esp + 0x3c], ecx
mov eax, dword [esi + 0x3f88]
mov byte [eax + 0xac], 1
mov edx, dword [esi + 0x3f88]
mov dword [esp + 0x48], edx
cmp byte [edx + 0xaf], 0
je 0x48baf4
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x34]
mov ecx, eax
shr ecx, 1
and cl, 1
mov dword [esp + 0x98], ecx
jne 0x48bb35
test eax, 0x400
jne 0x48bb35
movss xmm0, dword [esi + 0x38e4]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [edx + 0x128]
minss xmm0, dword [esi + 0x38e8]
movss dword [esp + 0x6c], xmm0
jmp 0x48bb49
mov eax, dword [esi + 0x38e4]
mov ecx, dword [esi + 0x38e8]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov edi, dword [ebp + 0xc]
lea eax, [esp + 0x68]
movss xmm7, dword [eax + 4]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 8]
movss dword [esp + 0x44], xmm7
test edi, edi
jne 0x48bb89
mov edi, eax
mov dword [ebp + 0xc], edi
cmp eax, 0xffffffff
jae 0x48bb89
mov cl, byte [edi]
test cl, cl
je 0x48bb86
cmp cl, 0x23
jne 0x48bb80
cmp byte [edi + 1], cl
je 0x48bb86
inc edi
cmp edi, 0xffffffff
jb 0x48bb70
mov dword [ebp + 0xc], edi
movss xmm1, dword [esi + 0x3cf4]
cmp eax, edi
jne 0x48bb9a
xorps xmm4, xmm4
jmp 0x48bbea
movss xmm3, dword [0x4d58e4]
movaps xmm2, xmm1
push 0
push edi
push eax
push ecx
mov ecx, dword [esi + 0x3cf0]
lea eax, [esp + 0x60]
mov dword [esp], 0xbf800000
push eax
call fcn.004661a0
movss xmm0, dword [esp + 0x50]
addss xmm0, dword [0x4d56ec]
movss xmm1, dword [esp + 0x54]
movss xmm7, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss xmm0, dword [esi + 0x38e8]
movss xmm6, dword [esi + 0x3cf4]
addss xmm0, xmm0
movss xmm3, dword [edx + 0x11c]
mov eax, dword [esp + 0x34]
movss dword [esp + 0xac], xmm1
movss dword [esp + 0xa8], xmm4
addss xmm0, xmm6
minss xmm3, xmm0
movaps xmm0, xmm7
addss xmm0, xmm7
addss xmm0, xmm1
maxss xmm3, xmm0
test eax, 0x2000
je 0x48bc86
cmp dword [esi + 0x4c6c], 0
je 0x48bc86
movss xmm0, dword [edx + 0xf4]
movss xmm1, dword [edx + 0x208]
movaps xmm5, xmm0
movss xmm2, dword [edx + 0x200]
movss dword [esp + 0x78], xmm1
movss dword [esp + 0x88], xmm1
movaps xmm1, xmm0
mov byte [esp + 0x17], 1
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x84], xmm0
jmp 0x48bcd8
movss xmm0, dword [edx + 0xf4]
mov byte [esp + 0x17], 0
movaps xmm1, xmm0
movss dword [esp + 0x38], xmm0
movaps xmm5, xmm0
movss dword [esp + 0x84], xmm0
test eax, 0x1000
je 0x48bcb9
movss xmm2, dword [edx + 0x1f0]
jmp 0x48bcc1
movss xmm2, dword [edx + 0xf0]
movss xmm0, dword [edx + 0x1f8]
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x88], xmm0
cmp byte [esp + 0x98], 0
addss xmm1, xmm3
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x80], xmm2
movss dword [esp + 0x40], xmm1
movss dword [esp + 0x8c], xmm1
je 0x48bd7c
movss xmm1, dword [edx + 0x44]
mulss xmm1, dword [0x4d56ac]
movaps xmm0, xmm1
subss xmm0, dword [0x4d56f4]
cvttss2si eax, xmm0
movd xmm0, eax
cvttss2si eax, xmm1
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x74]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x20], xmm2
addss xmm0, dword [esp + 0x78]
movss dword [esp + 0x80], xmm2
movss xmm2, dword [eax]
movaps xmm1, xmm2
addss xmm1, xmm2
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x88], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x4d579c]
movss dword [esp + 0x44], xmm1
jmp 0x48bd91
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax]
addss xmm0, xmm0
movaps xmm1, xmm0
movss dword [esp + 0x44], xmm0
comiss xmm4, dword [0x4d5620]
addss xmm0, xmm6
movaps xmm2, xmm7
maxss xmm2, dword [edx + 0x128]
movss dword [esp + 0x70], xmm0
jbe 0x48bdb5
addss xmm1, xmm4
jmp 0x48bdb8
xorps xmm1, xmm1
addss xmm0, dword [edx + 0xf0]
addss xmm1, xmm6
movss dword [esp + 0x54], xmm3
addss xmm5, xmm2
lea ecx, [esp + 0x50]
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x50], xmm1
movaps xmm1, xmm7
movss dword [esp + 0x60], xmm5
call fcn.00417660
cmp byte [esp + 0x98], 0
movss xmm0, dword [esp + 0x38]
movss xmm1, dword [esp + 0x20]
movss xmm2, dword [esp + 0x78]
mov edx, dword [esp + 0x34]
movss dword [esp + 0xb4], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0xb0], xmm1
movss dword [esp + 0xb8], xmm2
movss dword [esp + 0xbc], xmm0
jne 0x48be67
test edx, 0x3800
jne 0x48be67
movss xmm0, dword [esi + 0x38f4]
movss xmm2, dword [esp + 0x18]
addss xmm0, xmm0
addss xmm2, xmm1
addss xmm0, xmm2
movss dword [esp + 0xb8], xmm0
cmp byte [esp + 0x17], 0
mov ecx, dword [esp + 0x48]
movss xmm0, dword [ecx + 0x210]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [ecx + 0x218]
movss dword [esp + 0x9c], xmm0
je 0x48bea9
mov eax, dword [ecx + 0x200]
mov dword [ecx + 0x210], eax
mov eax, dword [ecx + 0x208]
mov dword [ecx + 0x218], eax
test edx, 0x100
je 0x48bebb
mov byte [esp + 0x18], 1
jmp 0x48bfad
mov eax, dword [0x4dca24]
mov dword [esp + 0x20], eax
test byte [eax + 0x48b0], 2
mov ecx, dword [eax + 0x3f88]
mov dword [esp + 0x40], ecx
mov ecx, dword [ecx + 0x18c]
je 0x48bf59
test byte [eax + 0x48c8], 1
je 0x48bf18
mov cl, byte [eax + 0x48cc]
xor eax, eax
mov edx, dword [esp + 0x20]
test cl, cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x3c]
setne al
push eax
push ecx
mov ecx, dword [edx + 0x3f88]
mov ecx, dword [ecx + 0x18c]
call fcn.00404880
mov ecx, dword [esp + 0x18]
jmp 0x48bf74
push 0xffffffffffffffff
push dword [esp + 0x40]
call fcn.004047b0
cmp eax, 0xffffffff
jne 0x48bf6b
mov edx, dword [esp + 0x20]
xor eax, eax
mov cl, byte [edx + 0x48cc]
test cl, cl
mov dword [esp + 0x18], ecx
mov ecx, dword [edx + 0x3f88]
setne al
push eax
push dword [esp + 0x40]
mov ecx, dword [ecx + 0x18c]
call fcn.00404880
mov ecx, dword [esp + 0x18]
jmp 0x48bf74
mov eax, edx
shr eax, 5
and eax, 1
push eax
push dword [esp + 0x40]
call fcn.004047b0
test eax, eax
setne cl
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x5d84], 0
je 0x48bfad
test byte [esp + 0x34], 0x10
jne 0x48bfad
mov eax, dword [esp + 0x40]
movzx ecx, cl
mov eax, dword [eax + 0x178]
sub eax, dword [edx + 0x5dac]
cmp eax, dword [edx + 0x5db0]
mov eax, 1
cmovl ecx, eax
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0xb0]
push 0
push 0
call fcn.004177c0
movups xmm0, xmmword [esp + 0x88]
or dword [esi + 0x48d8], 2
add esp, 8
cmp byte [esp + 0x17], 0
mov edx, dword [esp + 0x48]
mov byte [esp + 0x33], al
movups xmmword [esi + 0x48fc], xmm0
je 0x48c008
movss xmm0, dword [esp + 0x38]
movss dword [edx + 0x210], xmm0
movss xmm0, dword [esp + 0x9c]
movss dword [edx + 0x218], xmm0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
test al, al
je 0x48c223
cmp byte [esi + 0x4a30], 0
jne 0x48c223
mov eax, ecx
and eax, 0x4008
cmp eax, 0x4000
jne 0x48c21f
cmp dword [esi + 0x4a80], 0
jne 0x48c21f
cmp dword [esi + 0x49ec], edx
jne 0x48c21f
mov eax, dword [0x4dca24]
cmp byte [eax + 0x4a71], 0
je 0x48c21f
cmp dword [eax + 0x4abc], 0
jne 0x48c21f
cmp dword [eax + 0x4b2c], 0
jne 0x48c21f
mov ecx, dword [esi + 0x49d0]
mov eax, dword [esi + 0x49d4]
inc ecx
mov dword [esp + 0x50], ecx
cmp ecx, eax
jle 0x48c1ab
test eax, eax
je 0x48c0a8
cdq
sub eax, edx
mov edx, dword [esi + 0x49d4]
sar eax, 1
add eax, edx
jmp 0x48c0b3
mov edx, dword [esi + 0x49d4]
mov eax, 8
cmp eax, ecx
mov edi, ecx
cmovg edi, eax
mov eax, edi
mov dword [esp + 0x20], edi
mov edi, dword [ebp + 0xc]
cmp eax, edx
jle 0x48c1ab
lea ecx, [eax + eax*2]
shl ecx, 3
call fcn.00409d60
mov edx, dword [esi + 0x49d8]
mov dword [esp + 0xa0], eax
test edx, edx
je 0x48c197
mov ecx, dword [esi + 0x49d0]
lea ecx, [ecx + ecx*2]
shl ecx, 3
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esi + 0x49d8]
add esp, 0xc
mov dword [esp + 0x38], edx
test edx, edx
je 0x48c186
mov ecx, dword [0x4dca24]
test ecx, ecx
je 0x48c186
mov eax, dword [ecx + 0x3f08]
mov dword [esp + 0x40], eax
movsx eax, word [ecx + 0x5e1c]
mov edi, dword [esp + 0x40]
add eax, 0xbc4
cmp dword [ecx + eax*8], edi
mov edi, dword [ebp + 0xc]
lea eax, [ecx + eax*8]
je 0x48c17c
movsx eax, word [ecx + 0x5e1c]
inc eax
mov dword [esp + 0x9c], 6
cdq
idiv dword [esp + 0x9c]
movzx eax, dx
mov edx, dword [esp + 0x40]
mov word [ecx + 0x5e1c], ax
cwde
add eax, 0xbc4
lea eax, [ecx + eax*8]
mov dword [eax], edx
xor edx, edx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x38]
inc word [eax + 6]
inc dword [ecx + 0x5e18]
push edx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [esp + 0xa4]
add esp, 4
mov ecx, dword [esp + 0x50]
mov dword [esi + 0x49d8], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x49d4], eax
mov dword [esi + 0x49d0], ecx
test ecx, ecx
jg 0x48c1cd
push 0x747
push 0x4b2350
push str.Size___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov eax, dword [esi + 0x49d0]
mov ecx, dword [esi + 0x49d8]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x3c]
mov dword [ecx + edx*8 - 0x18], eax
mov eax, dword [esi + 0x48d4]
mov dword [ecx + edx*8 - 0x14], eax
movups xmm0, xmmword [esi + 0x48ec]
movups xmmword [ecx + edx*8 - 0x10], xmm0
mov edx, dword [esp + 0x48]
mov ecx, dword [edx + 0x17c]
mov eax, dword [edx + 0x178]
bts ecx, eax
mov al, byte [esp + 0x17]
mov dword [edx + 0x17c], ecx
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x18]
mov dl, byte [esp + 0x17]
mov dword [esp + 0x38], ecx
shr dword [esp + 0x38], 8
and byte [esp + 0x38], 1
cmp byte [esp + 0x33], 0
mov byte [esp + 0x1f], dl
mov edx, dword [esp + 0x48]
jne 0x48c2b6
test al, al
je 0x48cb32
test cl, 8
jne 0x48cb32
mov ecx, dword [0x4dca24]
mov esi, dword [ecx + 0x3f88]
mov eax, esi
mov byte [eax + 0xac], 1
mov edx, dword [ecx + 0x3f88]
movss xmm0, dword [ecx + 0x3914]
mov ecx, dword [esp + 0x3c]
addss xmm0, dword [edx + 0x134]
movss dword [edx + 0x134], xmm0
addss xmm0, dword [edx + 0x14]
addss xmm0, dword [edx + 0x138]
movss dword [edx + 0xf0], xmm0
inc dword [esi + 0x178]
call fcn.004143d0
mov eax, dword [esp + 0x18]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0x17], 0
je 0x48c2ca
call fcn.0046da60
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
xor eax, eax
mov dword [esp + 0x40], eax
test cl, 4
jne 0x48c2e1
test dword [esi + 0x48d4], 0x200
je 0x48c2ea
mov eax, 0x1000
mov dword [esp + 0x40], eax
movss xmm1, dword [esp + 0x5c]
or eax, 0x200
subss xmm1, dword [esp + 0x70]
movss xmm2, dword [esi + 0x390c]
cmp byte [esp + 0x38], 0
movss xmm3, dword [esi + 0xe00]
cmovne eax, dword [esp + 0x40]
movaps xmm0, xmm1
subss xmm0, xmm2
comiss xmm3, xmm0
jb 0x48c341
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [esi + 0x3cf4]
mov byte [esp + 0x32], 1
addss xmm0, xmm1
addss xmm0, xmm2
comiss xmm0, xmm3
ja 0x48c346
mov byte [esp + 0x32], 0
cmp edx, dword [esi + 0x3f8c]
mov dl, byte [esp + 0x32]
jne 0x48c356
test dl, dl
jne 0x48c35f
or eax, 0x10000
test dl, dl
je 0x48c364
or eax, 0x10
jmp 0x48c373
test cl, 0x40
je 0x48c370
or eax, 0x120
jmp 0x48c373
or eax, 0x20
mov edx, dword [esp + 0x3c]
and cl, 1
push eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x37]
push eax
lea eax, [esp + 0x57]
mov byte [esp + 0x6f], cl
push eax
lea ecx, [esp + 0xbc]
call fcn.00476310
xor dl, dl
add esp, 0xc
mov dword [esp + 0x40], edx
cmp byte [esp + 0x38], dl
jne 0x48c5b8
test al, al
je 0x48c43d
mov ecx, dword [esp + 0x3c]
cmp dword [esi + 0x4c3c], ecx
je 0x48c404
mov eax, dword [esp + 0x34]
test al, 0xc0
je 0x48c3d0
cmp dword [esi + 0x49f8], ecx
jne 0x48c3d2
mov dl, 1
test al, al
jns 0x48c3ee
cmp byte [esp + 0x32], 0
je 0x48c3ea
cmp byte [esi + 0x4a33], 0
jne 0x48c3ea
mov cl, 1
jmp 0x48c3ec
xor cl, cl
or dl, cl
test al, 0x40
je 0x48c43d
cmp word [esi + 0x382a], 2
mov eax, dword [esp + 0x18]
jne 0x48c441
mov dl, 1
jmp 0x48c441
test dword [esp + 0x20], 0x200
jne 0x48c42a
push 0x1894
push str.C:UsersAdminDownloadsimgui_masterimgui_widgets.cpp
push str.button_flags__ImGuiButtonFlags_PressedOnDragDropHold
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov edx, dword [esp + 0x4c]
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, 1
test al, al
movzx edx, dl
cmove edx, ecx
jmp 0x48c441
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
cmp dword [esi + 0x49f0], ecx
jne 0x48c4ea
cmp dword [esi + 0x4a80], 0
jne 0x48c4ea
test al, al
je 0x48c4ea
mov eax, dword [0x4dca24]
mov dl, 1
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 0x4a20]
mov eax, dword [eax + 0x49ec]
mov eax, dword [eax + 0x30c]
mov dword [eax + ecx*8 + 0x33c], 0x7f7fffff
mov eax, dword [0x4dca24]
cmp byte [eax + 0x4a35], 0
mov word [eax + 0x4a70], 0
jne 0x48c4ae
mov byte [eax + 0x4a34], 0
jmp 0x48c4ea
cmp dword [eax + 0x49ec], 0
mov cl, byte [esp + 0x1f]
mov byte [eax + 0x4a34], 1
mov byte [esp + 0x17], cl
jne 0x48c4ea
push 0x2c8a
push str.C:UsersAdminDownloadsimgui_masterimgui.cpp
push str.g.NavWindow___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov dl, byte [esp + 0x2b]
add esp, 0xc
mov byte [esp + 0x17], dl
mov edx, dword [esp + 0x40]
mov al, byte [esp + 0x17]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x3c]
cmp dword [esi + 0x49f0], eax
jne 0x48c58a
cmp dword [esi + 0x4a80], 1
jne 0x48c58a
cmp byte [esp + 0x18], 0
jne 0x48c58a
mov edx, dword [0x4dca24]
mov eax, dword [edx + 0x49ec]
mov ecx, dword [edx + 0x4a20]
mov eax, dword [eax + 0x30c]
mov dword [eax + ecx*8 + 0x33c], 0x7f7fffff
cmp byte [edx + 0x4a35], 0
mov word [edx + 0x4a70], 0
jne 0x48c550
mov byte [edx + 0x4a34], 0
jmp 0x48c58e
cmp dword [edx + 0x49ec], 0
mov al, byte [esp + 0x1f]
mov byte [edx + 0x4a34], 1
mov byte [esp + 0x17], al
jne 0x48c58e
push 0x2c8a
push str.C:UsersAdminDownloadsimgui_masterimgui.cpp
push str.g.NavWindow___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov al, byte [esp + 0x2b]
add esp, 0xc
mov byte [esp + 0x17], al
jmp 0x48c58e
test dl, dl
je 0x48c5b8
cmp byte [esp + 0x18], 0
mov ecx, dword [esp + 0x48]
sete al
mov dword [esp + 0x18], eax
movzx eax, al
mov ecx, dword [ecx + 0x18c]
push eax
push dword [esp + 0x40]
call fcn.00404880
or dword [esi + 0x48d8], 0x10
movss xmm7, dword [0x4d56f4]
xor ecx, ecx
movaps xmm1, xmm7
call fcn.00405fc0
cmp byte [esp + 0x98], 0
mov dword [esp + 0x20], eax
je 0x48c7f4
cmp byte [esp + 0x33], 0
mov al, byte [esp + 0x4f]
je 0x48c5f2
test al, al
je 0x48c5f2
mov ecx, 0x1a
jmp 0x48c5fc
xor ecx, ecx
test al, al
setne cl
add ecx, 0x18
push dword [esp + 0x8c]
movaps xmm1, xmm7
push dword [esp + 0x8c]
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.00405fc0
movss xmm2, dword [esi + 0x38ec]
mov dl, 1
mov ecx, eax
call fcn.00406f70
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x90]
push 2
call fcn.00407390
mov ecx, dword [esp + 0x48]
add esp, 0x14
test ecx, 0x200
je 0x48c70b
test dword [esp + 0x20], 0xff000000
movss xmm0, dword [esp + 0x70]
mulss xmm0, dword [0x4d56b4]
mov eax, dword [esp + 0x48]
movss xmm1, dword [esp + 0x5c]
movss xmm3, dword [0x4d56ac]
subss xmm1, xmm0
movss xmm0, dword [esi + 0x3cf4]
mov edx, dword [eax + 0x264]
mulss xmm0, xmm3
mov dword [esp + 0x44], edx
mov eax, dword [edx + 0x2c]
addss xmm0, dword [esp + 0x60]
movss dword [esp + 0x68], xmm1
movss xmm2, dword [eax + 0xc]
mulss xmm2, dword [0x4d5688]
movss dword [esp + 0x6c], xmm0
je 0x48c79e
comiss xmm3, xmm2
ja 0x48c79e
push 7
push ecx
lea eax, [esp + 0x70]
mov dword [esp], 0x40afede0
push eax
xorps xmm3, xmm3
mov ecx, edx
call fcn.0045fdd0
mov eax, dword [esp + 0x44]
mov ecx, eax
push dword [esp + 0x20]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.0045f610
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x54], 0
jmp 0x48c79e
cmp byte [esp + 0x38], 0
jne 0x48c780
cmp byte [esp + 0x18], 0
je 0x48c728
mov eax, ecx
shr eax, 0x15
not eax
and eax, 1
or eax, 2
jmp 0x48c72d
mov eax, 1
movss xmm0, dword [esp + 0x5c]
subss xmm0, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
movss xmm3, dword [0x4d56f4]
mov edx, dword [esp + 0x20]
addss xmm0, dword [ecx]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x60]
movss dword [esp + 0x54], xmm0
push dword [esp + 0x54]
push dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x264]
call fcn.00466aa0
mov ecx, dword [esp + 0x40]
add esp, 0xc
jmp 0x48c79e
mov eax, dword [esp + 0x74]
movss xmm1, dword [esp + 0x70]
movss xmm0, dword [esp + 0x5c]
subss xmm1, dword [eax]
subss xmm0, xmm1
movss dword [esp + 0x5c], xmm0
test ecx, 0x100000
je 0x48c7c9
movss xmm0, dword [esi + 0x38e4]
addss xmm0, dword [esi + 0x3cf4]
movss xmm1, dword [esp + 0x78]
subss xmm1, xmm0
movss dword [esp + 0x88], xmm1
cmp byte [esi + 0x5d84], 0
je 0x48ca03
mov eax, dword [0x4dca24]
mov dword [eax + 0x5d9c], 0x4b8208
mov dword [eax + 0x5da0], 0x4b8208
jmp 0x48ca03
mov cl, byte [esp + 0x4f]
test cl, cl
jne 0x48c806
cmp byte [esp + 0x67], cl
je 0x48c895
cmp byte [esp + 0x33], 0
je 0x48c81b
test cl, cl
je 0x48c81b
mov dword [esp + 0x44], 0x1a
jmp 0x48c829
xor eax, eax
test cl, cl
setne al
add eax, 0x18
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x88]
movaps xmm1, xmm7
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xa0], eax
mov eax, dword [0x4dca24]
push 0
push ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xac], edx
mov edx, dword [eax + 0x3f88]
mov dword [esp], 0
call fcn.00405fc0
mov ecx, dword [edx + 0x264]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.00461460
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x80]
push 2
call fcn.00407390
mov ecx, dword [esp + 0x38]
add esp, 4
test ecx, 0x200
je 0x48c962
test dword [esp + 0x20], 0xff000000
movss xmm0, dword [esp + 0x70]
movss xmm3, dword [0x4d56ac]
mov eax, dword [esp + 0x48]
movss xmm1, dword [esp + 0x5c]
mulss xmm0, xmm3
mov ecx, dword [eax + 0x264]
mov dword [esp + 0x44], ecx
subss xmm1, xmm0
movss xmm0, dword [esi + 0x3cf4]
mulss xmm0, xmm3
mov eax, dword [ecx + 0x2c]
addss xmm0, dword [esp + 0x60]
movss xmm2, dword [eax + 0xc]
mulss xmm2, dword [0x4d5688]
movss dword [esp + 0x68], xmm1
movss dword [esp + 0x6c], xmm0
je 0x48c9e1
comiss xmm3, xmm2
ja 0x48c9e1
push 7
push ecx
lea eax, [esp + 0x70]
mov dword [esp], 0x40afede0
push eax
xorps xmm3, xmm3
call fcn.0045fdd0
mov eax, dword [esp + 0x44]
mov ecx, eax
push dword [esp + 0x20]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.0045f610
mov eax, dword [esp + 0x44]
mov dword [eax + 0x54], 0
jmp 0x48c9e1
cmp byte [esp + 0x38], 0
jne 0x48c9e1
cmp byte [esp + 0x18], 0
je 0x48c97f
mov eax, ecx
shr eax, 0x15
not eax
and eax, 1
or eax, 2
jmp 0x48c984
mov eax, 1
movss xmm0, dword [esp + 0x5c]
subss xmm0, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
movss xmm3, dword [0x4d56c0]
mov edx, dword [esp + 0x20]
addss xmm0, dword [ecx]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esi + 0x3cf4]
mulss xmm0, dword [0x4d5680]
addss xmm0, dword [esp + 0x60]
movss dword [esp + 0x54], xmm0
push dword [esp + 0x54]
push dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x264]
call fcn.00466aa0
add esp, 0xc
cmp byte [esi + 0x5d84], 0
je 0x48ca03
mov eax, dword [0x4dca24]
mov dword [eax + 0x5d9c], 0x4b994c
mov dword [eax + 0x5da0], 0
cmp byte [esp + 0x17], 0
je 0x48ca0f
call fcn.0046db20
cmp byte [esp + 0x98], 0
je 0x48cab1
mov ecx, dword [ebp + 0xc]
or eax, 0xffffffff
mov edx, dword [ebp + 8]
test ecx, ecx
mov dword [esp + 0x68], 0
mov edi, edx
cmove ecx, eax
mov dword [esp + 0x6c], 0
cmp edx, ecx
jae 0x48ca59
mov dl, byte [edi]
test dl, dl
je 0x48ca56
cmp dl, 0x23
jne 0x48ca51
cmp byte [edi + 1], dl
je 0x48ca56
inc edi
cmp edi, ecx
jb 0x48ca41
mov edx, dword [ebp + 8]
mov eax, edi
sub eax, edx
je 0x48cac8
mov esi, dword [0x4dca24]
lea eax, [esp + 0x68]
push 0
push eax
lea eax, [esp + 0xb0]
mov ecx, dword [esi + 0x3f88]
push eax
push edi
push edx
mov ecx, dword [ecx + 0x264]
lea eax, [esp + 0x9c]
push eax
lea edx, [esp + 0x74]
call fcn.00406900
add esp, 0x18
cmp byte [esi + 0x5d84], 0
je 0x48cac8
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x5c]
push edi
call fcn.0041f840
add esp, 4
jmp 0x48cac8
push dword [esp + 0x60]
mov ecx, dword [ebp + 8]
mov edx, edi
push dword [esp + 0x60]
push 0
call fcn.00406790
add esp, 0xc
mov eax, dword [esp + 0x18]
test al, al
je 0x48cb32
test byte [esp + 0x34], 8
jne 0x48cb32
mov ecx, dword [0x4dca24]
mov edx, dword [ecx + 0x3f88]
mov eax, edx
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3f88]
movss xmm0, dword [ecx + 0x3914]
mov ecx, dword [esp + 0x3c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
inc dword [edx + 0x178]
call fcn.004143d0
mov eax, dword [esp + 0x18]
pop edi
pop esi
mov esp, ebp
pop ebp
ret