Function at 0x4137a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x6cf3a4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [0x6cfd64]
mov dword [ebp - 0x20], edi
mov eax, dword [edi + 0x5d90]
sub eax, 1
mov dword [ebp - 0x1c], eax
js 0x413830
lea ebx, [eax + eax*4]
shl ebx, 2
mov edx, dword [edi + 0x5d98]
cmp dword [ebx + edx + 4], 7
jne 0x413825
mov esi, edx
mov ecx, ebx
sub ecx, esi
mov eax, 0x66666667
add ecx, edx
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
lea edx, [esi + eax*4]
mov eax, dword [edi + 0x5d90]
sub eax, ecx
lea eax, [eax + eax*4]
lea eax, [eax*4 - 0x14]
push eax
lea eax, [edx + 0x14]
push eax
push edx
call fcn.00445f90
mov eax, dword [ebp - 0x1c]
add esp, 0xc
dec dword [edi + 0x5d90]
dec eax
sub ebx, 0x14
mov dword [ebp - 0x1c], eax
test eax, eax
jns 0x4137d0
mov eax, dword [edi + 0x5d90]
mov esi, dword [edi + 0x5d98]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*4]
cmp esi, ebx
je 0x41385d
cmp dword [esi + 4], 0
jne 0x413856
mov eax, dword [esi + 0xc]
push esi
push edi
call eax
add esp, 8
add esi, 0x14
cmp esi, ebx
jne 0x413846
mov eax, dword [0x6cfd64]
cmp byte [eax + 0x4a], 0
je 0x413872
test byte [eax + 0xc], 2
jne 0x413872
mov byte [eax + 0x4a], 0
mov ebx, dword [0x6cfd64]
cmp byte [ebx + 0x5d58], 0
lea eax, [ebx + 0x20]
jne 0x413968
mov ecx, dword [eax]
test ecx, ecx
je 0x413961
push 0x469b3c
push ecx
call fcn.0040d930
mov esi, eax
add esp, 8
test esi, esi
je 0x41395e
push esi
call fcn.0044a05f
add esp, 4
mov dword [ebp - 0x1c], eax
cmp eax, 0xffffffff
je 0x413955
push 2
push 0
push esi
call fcn.00449a0c
add esp, 0xc
test eax, eax
jne 0x413955
push esi
call fcn.0044a05f
add esp, 4
mov dword [ebp - 0x18], eax
cmp eax, 0xffffffff
je 0x413955
push 0
push dword [ebp - 0x1c]
push esi
call fcn.00449a0c
add esp, 0xc
test eax, eax
jne 0x413955
push dword [ebp - 0x18]
call fcn.0040fcf0
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x413955
push esi
push dword [ebp - 0x18]
push 1
push eax
call fcn.004495f6
add esp, 0x10
push esi
cmp eax, dword [ebp - 0x18]
je 0x413931
call fcn.00449077
mov esi, dword [ebp - 0x1c]
push esi
call fcn.0040fd80
add esp, 8
jmp 0x41395e
call fcn.00449077
mov eax, dword [ebp - 0x18]
add esp, 4
mov esi, dword [ebp - 0x1c]
test eax, eax
je 0x41394d
push eax
push esi
call fcn.0040f7d0
add esp, 8
push esi
call fcn.0040fd80
jmp 0x41395b
push esi
call fcn.00449077
add esp, 4
lea eax, [ebx + 0x20]
mov byte [ebx + 0x5d58], 1
movss xmm1, dword [ebx + 0x5d5c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x4139ac
subss xmm1, dword [ebx + 0x18]
comiss xmm0, xmm1
movss dword [ebx + 0x5d5c], xmm1
jb 0x4139ac
mov eax, dword [eax]
test eax, eax
je 0x41399b
push eax
call fcn.00417280
add esp, 4
jmp 0x4139a2
mov byte [ebx + 0x92], 1
mov dword [ebx + 0x5d5c], 0
movss xmm0, dword [edi + 0x18]
lea ecx, [edi + 0x5ccc]
inc dword [edi + 0x3f08]
xor eax, eax
cvtps2pd xmm0, xmm0
push eax
mov byte [edi + 0x3f14], 1
mov word [edi + 0x5cbc], ax
mov dword [edi + 0x3f7c], eax
addsd xmm0, qword [edi + 0x3f00]
movsd qword [edi + 0x3f00], xmm0
call fcn.0041cea0
mov eax, dword [edi + 0x5f90]
mov ecx, 0x3c
movss xmm1, dword [edi + 0x18]
movaps xmm0, xmm1
subss xmm0, dword [edi + eax*4 + 0x5ea0]
addss xmm0, dword [edi + 0x5f98]
movss dword [edi + 0x5f98], xmm0
movss dword [edi + eax*4 + 0x5ea0], xmm1
mov eax, dword [edi + 0x5f90]
inc eax
movss xmm1, dword [edi + 0x5f98]
cdq
idiv ecx
mov eax, dword [edi + 0x5f94]
movss xmm0, dword [0x469d70]
inc eax
cmp eax, ecx
mov dword [edi + 0x5f90], edx
movss dword [ebp - 0x18], xmm0
cmovl ecx, eax
comiss xmm1, dword [0x469cc4]
mov dword [edi + 0x5f94], ecx
jbe 0x413a78
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x46848c]
divss xmm0, xmm1
movss dword [edi + 0x98], xmm0
mov ecx, dword [edi + 0x3f30]
test ecx, ecx
jns 0x413aa6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x3f2c]
call fcn.0041cd40
mov dword [edi + 0x3f2c], 0
movzx eax, byte [edi + 0x46]
push eax
call fcn.00419810
mov esi, dword [0x6cfd64]
add esp, 4
xorps xmm3, xmm3
mov eax, dword [esi + 0x4a00]
mov edx, dword [eax]
mov dword [edx], 5
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], ecx
mov ebx, dword [esi + 0x4a00]
mov eax, dword [esi + 0x49f8]
lea esi, [ebx + eax*4]
cmp ebx, esi
je 0x413bcf
mov edx, dword [ebx]
add ebx, 4
mov eax, dword [edx + 0x94]
mov ecx, dword [edx + 0x98]
mov dword [edx + 0x84], eax
mov eax, dword [edx + 0x9c]
mov dword [edx + 0x88], ecx
mov ecx, dword [edx + 0xa0]
mov dword [edx + 0x8c], eax
mov dword [edx + 0x90], ecx
mov dword [edx + 0x9c], 0
mov dword [edx + 0xa0], 0
mov dword [edx + 0x94], 0
mov dword [edx + 0x98], 0
movss xmm0, dword [edx + 0x88]
movss xmm2, dword [edx + 0x84]
movaps xmm1, xmm2
addss xmm0, dword [edx + 8]
addss xmm1, dword [edx + 4]
movss dword [edx + 0x18], xmm0
movss xmm0, dword [edx + 0xc]
movss dword [edx + 0x14], xmm1
subss xmm0, xmm2
movaps xmm2, xmm3
movaps xmm1, xmm3
addss xmm0, dword [edx + 0x8c]
maxss xmm2, xmm0
movss xmm0, dword [edx + 0x10]
subss xmm0, dword [edx + 0x88]
addss xmm0, dword [edx + 0x90]
movss dword [edx + 0x1c], xmm2
maxss xmm1, xmm0
movss dword [edx + 0x20], xmm1
cmp ebx, esi
jne 0x413b05
mov eax, dword [edi + 0x2c]
mov byte [eax + 0x10], 1
mov esi, dword [0x6cfd64]
mov ebx, dword [esi + 0x38]
test ebx, ebx
jne 0x413beb
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax]
movss xmm1, dword [esi + 0x30]
movss xmm0, dword [0x46848c]
mov ecx, dword [esi + 0x3f88]
mov dword [esi + 0x3cf0], ebx
mulss xmm1, dword [ebx + 0x10]
mulss xmm1, dword [ebx + 0x4c]
maxss xmm0, xmm1
movss dword [esi + 0x3cf8], xmm0
test ecx, ecx
je 0x413c42
mov eax, dword [ecx]
movss xmm3, dword [eax + 0x3cf8]
mov eax, dword [ecx + 0x300]
mulss xmm3, dword [ecx + 0x264]
test eax, eax
je 0x413c42
mulss xmm3, dword [eax + 0x264]
movss xmm7, dword [ebp - 0x18]
movss xmm5, dword [0x469d7c]
movaps xmm6, xmm7
movss dword [esi + 0x3cf4], xmm3
movaps xmm4, xmm5
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + 0x34]
mov ecx, dword [edx + 0x38]
mov dword [esi + 0x3cfc], eax
lea eax, [edx + 0x60]
mov dword [esi + 0x3d00], ecx
mov dword [esi + 0x3ef8], eax
mov dword [esi + 0x3d04], ebx
movss dword [esi + 0x3d08], xmm3
mov ecx, dword [edi + 0x4a00]
mov eax, dword [edi + 0x49f8]
lea edx, [ecx + eax*4]
cmp ecx, edx
je 0x413ce3
nop dword [eax]
mov eax, dword [ecx]
movss xmm3, dword [eax + 4]
comiss xmm7, xmm3
movss xmm2, dword [eax + 8]
movaps xmm0, xmm3
addss xmm0, dword [eax + 0xc]
movaps xmm1, xmm2
addss xmm1, dword [eax + 0x10]
jbe 0x413cc4
movaps xmm7, xmm3
comiss xmm6, xmm2
jbe 0x413ccc
movaps xmm6, xmm2
comiss xmm0, xmm5
jbe 0x413cd4
movaps xmm5, xmm0
comiss xmm1, xmm4
jbe 0x413cdc
movaps xmm4, xmm1
add ecx, 4
cmp ecx, edx
jne 0x413ca0
mov eax, dword [edi + 0x3984]
movss dword [ebp - 0x14], xmm7
movss dword [ebp - 0x10], xmm6
movss dword [ebp - 0xc], xmm5
movss dword [ebp - 8], xmm4
movups xmm0, xmmword [ebp - 0x14]
push ecx
lea ecx, [edi + 0x3cfc]
mov dword [edi + 0x3d0c], eax
movups xmmword [edi + 0x3d14], xmm0
movss xmm0, dword [edi + 0x3988]
movss dword [esp], xmm0
call fcn.00423c70
xor edx, edx
mov dword [edi + 0x3d24], 0
cmp byte [edi + 0x3980], dl
je 0x413d4a
mov dword [edi + 0x3d24], 1
mov edx, 1
cmp byte [edi + 0x3981], 0
mov ecx, edx
je 0x413d6c
mov eax, dword [edi + 0x3cf0]
mov eax, dword [eax + 0x30]
test byte [eax], 4
jne 0x413d6c
or ecx, 2
mov dword [edi + 0x3d24], ecx
cmp byte [edi + 0x3982], 0
je 0x413d7e
or ecx, 4
mov dword [edi + 0x3d24], ecx
test byte [edi + 0xc], 8
je 0x413d8d
or ecx, 8
mov dword [edi + 0x3d24], ecx
mov ecx, dword [edi + 0x4a00]
mov eax, dword [edi + 0x49f8]
lea edx, [ecx + eax*4]
cmp ecx, edx
je 0x413dad
mov eax, dword [ecx]
add ecx, 4
mov byte [eax + 0x38], 0
cmp ecx, edx
jne 0x413da0
cmp byte [edi + 0x4be4], 0
je 0x413de7
mov eax, dword [edi + 0x4bfc]
cmp eax, dword [edi + 0x3fd8]
jne 0x413de7
mov ecx, dword [0x6cfd64]
cmp dword [ecx + 0x3fd8], eax
jne 0x413dd8
mov dword [ecx + 0x3fdc], eax
cmp dword [ecx + 0x4000], eax
jne 0x413de7
mov byte [ecx + 0x4004], 1
cmp dword [edi + 0x3fc8], 0
lea eax, [edi + 0x3fc4]
mov ecx, dword [eax]
jne 0x413e04
mov dword [edi + 0x3fd0], 0
jmp 0x413e14
mov edx, ecx
mov esi, eax
test ecx, ecx
je 0x413e22
cmp dword [edi + 0x3fd8], ecx
jne 0x413e22
mov dword [edi + 0x3fd4], 0
mov edx, ecx
mov esi, eax
movss xmm1, dword [edi + 0x18]
test edx, edx
je 0x413e59
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x3fd0]
movss dword [edi + 0x3fd0], xmm0
cmp dword [edi + 0x3fd8], edx
je 0x413e59
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x3fd4]
movss dword [edi + 0x3fd4], xmm0
mov eax, dword [edi + 0x3fd8]
movaps xmm2, xmm1
mov dword [edi + 0x3fc8], edx
mov dword [esi], 0
mov word [edi + 0x3fcc], 0
test eax, eax
je 0x413eb2
cmp dword [edi + 0x3fdc], eax
je 0x413eb2
cmp dword [edi + 0x4000], eax
jne 0x413eb2
test byte [edi + 0x5df4], 1
je 0x413ea1
push str.NewFrame__:_ClearActiveID___because_it_isnt_marked_alive_anymore__n
call fcn.0040af30
add esp, 4
push 0
push 0
call fcn.00417800
movss xmm2, dword [edi + 0x18]
add esp, 8
mov ecx, dword [edi + 0x3fd8]
test ecx, ecx
je 0x413ecf
movaps xmm0, xmm2
addss xmm0, dword [edi + 0x3fe0]
movss dword [edi + 0x3fe0], xmm0
mov eax, dword [edi + 0x3ff4]
addss xmm2, dword [edi + 0x4010]
mov dword [edi + 0x4008], eax
mov al, byte [edi + 0x3fe8]
mov byte [edi + 0x4005], al
mov eax, dword [edi + 0x5c2c]
movss dword [edi + 0x4010], xmm2
mov dword [edi + 0x4000], ecx
mov dword [edi + 0x3fdc], 0
mov byte [edi + 0x3fe9], 0
mov byte [edi + 0x4004], 0
mov byte [edi + 0x3fe4], 0
test eax, eax
je 0x413f34
cmp ecx, eax
je 0x413f34
mov dword [edi + 0x5c2c], 0
test ecx, ecx
jne 0x413f52
mov dword [edi + 0x48a0], ecx
mov dword [edi + 0x4898], ecx
mov byte [edi + 0x489c], cl
mov dword [edi + 0x48a0], ecx
jmp 0x413f7a
mov eax, dword [edi + 0x48a0]
test eax, eax
je 0x413f7a
test al, 2
je 0x413f7a
mov eax, dword [0x6cfd64]
mov dword [eax + 0x40c0], ecx
mov dword [eax + 0x40bc], ecx
mov word [eax + 0x40c4], 0
mov ecx, dword [edi + 0x4d1c]
mov eax, edi
mov edx, 0x4d38
mov esi, edi
mov ebx, 0x3cdc
test ecx, ecx
je 0x413fab
movss xmm0, dword [edi + 0x4d38]
comiss xmm0, dword [edi + 0x3cdc]
jb 0x413fb5
mov dword [edi + 0x4d2c], ecx
jmp 0x413fb5
mov dword [edi + 0x4d2c], 0
cmp dword [edi + 0x3f8c], 0
je 0x413fda
movss xmm0, dword [eax + edx]
comiss xmm0, dword [esi + ebx]
jb 0x413fe4
mov eax, dword [edi + 0x3f8c]
mov eax, dword [eax + 8]
mov dword [edi + 0x4d30], eax
jmp 0x413fe4
mov dword [edi + 0x4d30], 0
movss xmm0, dword [edi + 0x4d24]
mov dword [edi + 0x4d20], ecx
test ecx, ecx
je 0x41400f
addss xmm0, dword [edi + 0x18]
mov dword [edi + 0x4d1c], 0
movss dword [edi + 0x4d24], xmm0
jmp 0x41404f
comiss xmm0, dword [0x469cc4]
jbe 0x414059
movss xmm1, dword [edi + 0x18]
movss xmm0, dword [0x469ce8]
movaps xmm2, xmm1
addss xmm2, dword [edi + 0x4d28]
addss xmm1, xmm1
movss dword [edi + 0x4d28], xmm2
maxss xmm0, xmm1
comiss xmm2, xmm0
jb 0x414059
mov dword [edi + 0x4d24], 0
mov dword [edi + 0x4d28], 0
mov eax, dword [edi + 0x4c58]
mov dword [edi + 0x4c5c], eax
mov dword [edi + 0x4c58], 0
mov dword [edi + 0x4c54], 0x7f7fffff
mov word [edi + 0x4be5], 0
mov dword [edi + 0x4c64], 0
call fcn.0041a050
call fcn.00411140
call fcn.0041a580
call fcn.00419590
mov esi, dword [0x6cfd64]
mov ecx, dword [esi + 0x3f94]
test ecx, ecx
je 0x41415e
mov eax, dword [esi + 0x3fd8]
mov dword [esi + 0x3fdc], eax
cmp dword [esi + 0x4000], eax
jne 0x4140cf
mov byte [esi + 0x4004], 1
cmp byte [esi + 0xe08], 0
mov edx, dword [ecx + 0x308]
je 0x414152
lea ecx, [esi + 0xe00]
test ecx, ecx
je 0x4140ec
mov eax, ecx
jmp 0x4140f6
mov eax, dword [0x6cfd64]
add eax, 0xe00
movss xmm0, dword [eax]
movss xmm1, dword [0x469d78]
comiss xmm0, xmm1
movss xmm2, dword [eax + 4]
jb 0x414152
comiss xmm2, xmm1
jb 0x414152
movss xmm0, dword [ecx]
lea eax, [ebp - 0xc]
subss xmm0, dword [esi + 0x3fec]
push 1
push eax
push edx
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [ecx + 4]
subss xmm0, dword [esi + 0x3ff0]
movss dword [ebp - 8], xmm0
call fcn.00418420
push 0
push dword [esi + 0x3f94]
call fcn.0040c940
add esp, 0x14
jmp 0x41419d
mov dword [esi + 0x3f94], 0
jmp 0x414191
mov ecx, dword [esi + 0x3ff4]
test ecx, ecx
je 0x41419d
mov eax, dword [esi + 0x3fd8]
cmp dword [ecx + 0x74], eax
jne 0x41419d
mov dword [esi + 0x3fdc], eax
cmp dword [esi + 0x4000], eax
jne 0x414188
mov byte [esi + 0x4004], 1
cmp byte [esi + 0xe08], 0
jne 0x41419d
push 0
push 0
call fcn.00417800
add esp, 8
mov eax, dword [0x6cfd64]
mov edx, dword [eax + 0x49d0]
sub edx, 1
js 0x4141d7
mov eax, dword [eax + 0x49d8]
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*8]
add eax, 4
nop dword [eax]
mov ecx, dword [eax]
test ecx, ecx
je 0x4141cf
test dword [ecx + 0xc], 0x8000000
jne 0x4141f1
sub eax, 0x28
sub edx, 1
jns 0x4141c0
cmp dword [edi + 0x4bb8], 0
je 0x414210
movss xmm0, dword [edi + 0x4bc8]
comiss xmm0, dword [0x469cc4]
jbe 0x414210
movss xmm1, dword [edi + 0x18]
mulss xmm1, dword [0x469d38]
addss xmm1, dword [edi + 0x4be0]
minss xmm1, dword [0x46848c]
jmp 0x414231
movss xmm0, dword [edi + 0x18]
mulss xmm0, dword [0x469d44]
movss xmm1, dword [edi + 0x4be0]
subss xmm1, xmm0
maxss xmm1, dword [0x469cc4]
movss dword [edi + 0x4be0], xmm1
movups xmm0, xmmword [edi + 0x5d38]
mov dword [edi + 0x4d34], 0
mov dword [edi + 0x5fa4], 0xffffffff
mov dword [edi + 0x5fa0], 0xffffffff
mov dword [edi + 0x5f9c], 0xffffffff
movups xmmword [edi + 0x5d48], xmm0
mov byte [edi + 0x5d38], 0
call fcn.0041abe0
cmp byte [edi + 0x3f17], 0
jne 0x4142a8
movss xmm1, dword [edi + 0x4c]
xorps xmm0, xmm0
comiss xmm0, xmm1
ja 0x4142a8
movsd xmm0, qword [edi + 0x3f00]
cvtpd2ps xmm0, xmm0
subss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
jmp 0x4142ad
movss xmm0, dword [ebp - 0x18]
mov ebx, dword [edi + 0x3f48]
mov eax, dword [edi + 0x3f40]
lea eax, [ebx + eax*4]
cmp ebx, eax
je 0x414425
mov edi, eax
nop word [eax + eax]
mov esi, dword [ebx]
mov ax, word [esi + 0xbc]
mov cl, byte [esi + 0xae]
mov word [esi + 0xbe], ax
xor eax, eax
mov byte [esi + 0xaf], cl
mov byte [esi + 0xae], 0
mov byte [esi + 0xb0], 0
mov word [esi + 0xbc], ax
test cl, cl
jne 0x414412
cmp byte [esi + 0x360], al
jne 0x414412
comiss xmm0, dword [esi + 0x244]
jbe 0x414412
mov ecx, dword [esi + 0x26c]
mov byte [esi + 0x360], 1
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x358], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x35c], eax
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x414374
push eax
mov dword [esi + 0xf0], 0
mov dword [esi + 0xec], 0
call fcn.0040fd80
add esp, 4
mov dword [esi + 0xf4], 0
mov ecx, dword [esi + 0x26c]
call fcn.00424470
mov eax, dword [esi + 0x190]
test eax, eax
je 0x4143b0
push eax
mov dword [esi + 0x18c], 0
mov dword [esi + 0x188], 0
call fcn.0040fd80
add esp, 4
mov dword [esi + 0x190], 0
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x4143e1
push eax
mov dword [esi + 0x1b4], 0
mov dword [esi + 0x1b0], 0
call fcn.0040fd80
add esp, 4
mov dword [esi + 0x1b8], 0
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x414412
push eax
mov dword [esi + 0x1c0], 0
mov dword [esi + 0x1bc], 0
call fcn.0040fd80
add esp, 4
mov dword [esi + 0x1c4], 0
movss xmm0, dword [ebp - 0x18]
add ebx, 4
cmp ebx, edi
jne 0x4142d0
mov edi, dword [ebp - 0x20]
xor esi, esi
cmp dword [edi + 0x4cc8], esi
jle 0x41447d
xor ebx, ebx
xorps xmm0, xmm0
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x4cd0]
movss xmm1, dword [eax + esi*4]
comiss xmm1, xmm0
jb 0x41446e
movss xmm2, dword [ebp - 0x18]
comiss xmm2, xmm1
jbe 0x41446e
mov eax, dword [edi + 0x4cb0]
add eax, ebx
push eax
call fcn.0042cd00
add esp, 4
xorps xmm0, xmm0
inc esi
add ebx, 0x200
cmp esi, dword [edi + 0x4cc8]
jl 0x414440
imul ebx, dword [edi + 0x4c9c], 0x6c
mov esi, dword [edi + 0x4ca4]
add ebx, esi
cmp esi, ebx
je 0x4144ba
xorps xmm1, xmm1
movss xmm0, dword [esi + 4]
comiss xmm0, xmm1
jb 0x4144b3
movss xmm2, dword [ebp - 0x18]
comiss xmm2, xmm0
jbe 0x4144b3
push esi
call fcn.0042cdd0
add esp, 4
xorps xmm1, xmm1
add esi, 0x6c
cmp esi, ebx
jne 0x414493
cmp byte [edi + 0x3f17], 0
je 0x414530
mov esi, dword [0x6cfd64]
mov eax, dword [esi + 0x49c0]
test eax, eax
je 0x4144fa
push eax
mov dword [esi + 0x49bc], 0
mov dword [esi + 0x49b8], 0
call fcn.0040fd80
add esp, 4
mov dword [esi + 0x49c0], 0
mov eax, dword [esi + 0x49cc]
test eax, eax
je 0x41452b
push eax
mov dword [esi + 0x49c8], 0
mov dword [esi + 0x49c4], 0
call fcn.0040fd80
add esp, 4
mov dword [esi + 0x49cc], 0
call fcn.0042cb90
mov eax, dword [edi + 0x4a04]
mov byte [edi + 0x3f17], 0
test eax, eax
je 0x414599
cmp byte [eax + 0xaf], 0
jne 0x414599
mov eax, dword [0x6cfd64]
mov edx, dword [eax + 0x3f4c]
sub edx, 1
js 0x41458d
mov eax, dword [eax + 0x3f54]
lea esi, [eax + edx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x414585
cmp byte [ecx + 0xaf], 0
je 0x414585
mov eax, dword [ecx + 0xc]
and eax, 0x10200
cmp eax, 0x10200
jne 0x414756
sub esi, 4
sub edx, 1
jns 0x414563
push 1
push 0
call fcn.0040c940
add esp, 8
mov ecx, dword [edi + 0x3f68]
test ecx, ecx
jns 0x4145f8
mov eax, ecx
xor esi, esi
cdq
sub eax, edx
sar eax, 1
add eax, ecx
test eax, eax
cmovg esi, eax
cmp esi, ecx
jle 0x4145f8
imul eax, esi, 0x64
push eax
call fcn.0040fcf0
mov ebx, eax
add esp, 4
mov eax, dword [edi + 0x3f6c]
test eax, eax
je 0x4145ec
imul ecx, dword [edi + 0x3f64], 0x64
push ecx
push eax
push ebx
call fcn.00445f90
push dword [edi + 0x3f6c]
call fcn.0040fd80
add esp, 0x10
mov dword [edi + 0x3f6c], ebx
mov dword [edi + 0x3f68], esi
push 0
lea ecx, [edi + 0x49dc]
mov dword [edi + 0x3f64], 0
call fcn.0041cfb0
mov ecx, dword [edi + 0x49bc]
lea esi, [edi + 0x49b8]
test ecx, ecx
jns 0x41466e
mov eax, ecx
xor ebx, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
test eax, eax
cmovg ebx, eax
cmp ebx, ecx
jle 0x41466e
lea eax, [ebx*4]
push eax
call fcn.0040fcf0
mov edx, dword [esi + 8]
add esp, 4
mov dword [ebp - 0x1c], eax
test edx, edx
je 0x414668
mov ecx, dword [esi]
shl ecx, 2
push ecx
push edx
push eax
call fcn.00445f90
push dword [esi + 8]
call fcn.0040fd80
mov eax, dword [ebp - 0x1c]
add esp, 0x10
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
lea eax, [ebp - 0x1c]
mov dword [esi], 0
push eax
mov ecx, esi
mov dword [ebp - 0x1c], 0
call fcn.0041c8f0
push 0
lea ecx, [edi + 0x49c4]
call fcn.0041cf20
mov ebx, dword [0x6cfd64]
mov dword [ebp - 0x1c], ebx
cmp byte [ebx + 0x5e17], 0
mov dword [ebx + 0x5e1c], 0
je 0x414879
mov eax, dword [0x6cfd64]
mov esi, dword [ebx + 0x3fc8]
push 1
push 0
push 0x20e
mov dword [ebp - 8], esi
mov dword [eax + 0x4d34], 7
call fcn.0040ed80
add esp, 0xc
test al, al
je 0x4146e7
mov byte [ebx + 0x5e17], 0
mov eax, dword [ebx + 0xe20]
xorps xmm0, xmm0
mov dword [ebp - 0x18], eax
cmp eax, 0x3000
je 0x414761
movzx ecx, byte [ebx + 0x5e18]
mov edx, dword [0x6cfd64]
cmp byte [edx + ecx + 0xe08], 0
je 0x414761
movss xmm1, dword [edx + ecx*4 + 0x3850]
comiss xmm0, xmm1
ja 0x414761
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x41475e
lea eax, [ecx + 0x28f]
push 0
push eax
call fcn.004190f0
add esp, 8
xorps xmm0, xmm0
test al, al
je 0x41475e
mov eax, dword [ebp - 0x18]
test esi, esi
je 0x414761
mov dword [ebx + 0x5e1c], esi
mov byte [ebx + 0x5e17], 0
jmp 0x414761
push 1
push ecx
jmp 0x414591
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
mov esi, 0x3850
nop dword [eax + eax]
cmp eax, 0x3000
jne 0x4147bc
mov eax, dword [0x6cfd64]
cmp byte [eax + ebx + 0xe08], 0
je 0x4147b9
movss xmm1, dword [esi + eax]
comiss xmm0, xmm1
ja 0x4147b9
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x4147b9
lea eax, [ebx + 0x28f]
push 0
push eax
call fcn.004190f0
add esp, 8
test al, al
mov eax, dword [ebp - 0x18]
je 0x4147bc
mov byte [edi + 0x5e18], bl
jmp 0x4147bc
mov eax, dword [ebp - 0x18]
add esi, 4
inc ebx
xorps xmm0, xmm0
cmp esi, 0x385c
jl 0x414770
mov eax, dword [0x6cfd64]
push 0
push 0
or dword [eax + 0x491c], 0x40
mov dword [eax + 0x4974], 0x3f333333
call fcn.00409450
mov edi, dword [ebp - 0x20]
add esp, 8
test al, al
je 0x414879
mov esi, dword [ebp - 8]
push esi
push str.HoveredId:_0x_08X
call fcn.00433f50
push str.Press_ESC_to_abort_picking.
call fcn.00433f50
add esp, 0xc
mov dword [ebp - 0x10], str.Left
cmp dword [ebp - 0x18], 0x3000
mov dword [ebp - 0xc], str.Right
mov dword [ebp - 8], str.Middle
jne 0x414840
push str.Remap_w__CtrlShift:_click_anywhere_to_select_new_mouse_button.
call fcn.00433f50
add esp, 4
jmp 0x414874
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
test esi, esi
movzx eax, byte [eax + 0x5e18]
push dword [ebp + eax*4 - 0x10]
mov eax, 0x10
cmove ecx, eax
mov eax, dword [0x6cfd64]
add eax, 0x398c
add eax, ecx
push str.Click__s_Button_to_break_in_debugger___remap_w__CtrlShift_
push eax
call fcn.00433fb0
add esp, 0xc
call fcn.0040b3c0
call fcn.00419440
call fcn.00419280
mov al, byte [edi + 0x5e15]
test al, al
je 0x4148a1
sub al, 1
mov byte [edi + 0x5e15], al
jne 0x4148a1
mov dword [edi + 0x48ac], 0
mov al, byte [edi + 0x5e14]
test al, al
je 0x4148c9
sub al, 1
mov byte [edi + 0x5e14], al
jne 0x4148c9
push str._Auto_disabled_ImGuiDebugLogFlags_EventClipper_to_avoid_spamming__n
call fcn.0040af30
add esp, 4
and dword [edi + 0x5df4], 0xffffffef
mov byte [edi + 0x3f15], 1
mov eax, dword [0x6cfd64]
push 0
push 0
push str.DebugDefault
or dword [eax + 0x491c], 2
mov dword [eax + 0x493c], 0x43c80000
mov dword [eax + 0x4940], 0x43c80000
mov dword [eax + 0x4924], 4
call fcn.00406c10
add esp, 0xc
cmp byte [edi + 0x65], 0
je 0x414946
mov cl, byte [edi + 0x5e16]
cmp cl, 0xff
jne 0x414920
xor edx, edx
jmp 0x414949
mov eax, dword [edi + 0x3f08]
and eax, 0x80000003
jns 0x414932
dec eax
or eax, 0xfffffffc
inc eax
neg eax
movsx ecx, cl
sbb eax, eax
inc eax
add eax, ecx
mov ecx, 0xa
cdq
idiv ecx
jmp 0x414949
or dl, 0xff
mov byte [edi + 0x5e16], dl
mov eax, dword [edi + 0x5d90]
mov esi, dword [edi + 0x5d98]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*4]
cmp esi, ebx
je 0x41497c
cmp dword [esi + 4], 1
jne 0x414975
mov eax, dword [esi + 0xc]
push esi
push edi
call eax
add esp, 8
add esi, 0x14
cmp esi, ebx
jne 0x414965
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444e46
mov esp, ebp
pop ebp
ret