Function at 0x10061c80
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10080ceb
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x198
mov eax, dword [0x10098010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 4], 0
mov esi, 1
mov ecx, dword [0x100e8960]
mov dword [ebp - 0x164], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, esi
jle 0x10062a22
xorps xmm0, xmm0
movsd qword [ebp - 0x178], xmm0
nop
mov ecx, dword [0x100e8960]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x150], eax
test eax, eax
je 0x10062a01
mov edx, dword [eax + 8]
add eax, 8
mov ecx, eax
mov dword [ebp - 0x148], eax
mov edx, dword [edx + 8]
call edx
mov edi, dword [eax + 0x14]
cmp edi, 0x2f
je 0x10061d7a
cmp edi, 0x60
je 0x10061d7a
cmp edi, 0x63
je 0x10061d7a
cmp edi, 0x70
je 0x10061d7a
cmp edi, 0x9b
je 0x10061d7a
cmp edi, 0x4d
je 0x10061d7a
cmp edi, 0x30
je 0x10061d7a
cmp edi, 9
je 0x10061d7a
cmp edi, 0x71
je 0x10061d7a
cmp edi, 0x9c
jne 0x10061d96
movsd xmm0, qword [0x100eb8e8]
movsd xmm1, qword [ebp - 0x178]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x10061df1
jmp 0x10061d9e
movsd xmm1, qword [ebp - 0x178]
cmp edi, 0xe7
jl 0x10061dae
cmp edi, 0x110
jle 0x10061db8
cmp edi, 1
je 0x10061db8
cmp edi, 0x2e
jne 0x10061dca
movsd xmm0, qword [0x100eb8e0]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x10061df1
cmp edi, 0x22
je 0x10061ddb
cmp edi, 0x80
jne 0x10062a01
movsd xmm0, qword [0x100eb8f0]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10062a01
mov eax, dword [0x100e8ffc]
mov ecx, dword [eax]
call fcn.10046440
mov ecx, dword [ebp - 0x150]
mov esi, eax
call fcn.10046120
movss xmm1, dword [esi]
movss xmm2, dword [esi + 4]
movss xmm0, dword [esi + 8]
subss xmm2, dword [eax + 4]
subss xmm1, dword [eax]
subss xmm0, dword [eax + 8]
mov dword [ebp - 0x194], 0
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss dword [ebp - 0x144], xmm2
sqrtss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x194], xmm0
mov eax, dword [0x100e8ffc]
movss xmm0, dword [ebp - 0x194]
movss dword [ebp - 0x144], xmm0
mov ecx, dword [eax]
call fcn.1007ad50
cmp dword [eax], 0
je 0x10061f01
mov eax, dword [0x100e8ffc]
mov ecx, dword [eax]
call fcn.1007aff0
test eax, eax
je 0x10061f0b
mov ecx, eax
call fcn.10046440
mov ecx, dword [ebp - 0x150]
mov esi, eax
call fcn.10046120
movss xmm1, dword [esi]
movss xmm2, dword [esi + 4]
movss xmm0, dword [esi + 8]
subss xmm2, dword [eax + 4]
subss xmm1, dword [eax]
subss xmm0, dword [eax + 8]
mov dword [ebp - 0x1a4], 0
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss dword [ebp - 0x144], xmm2
sqrtss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x1a4], xmm0
movss xmm0, dword [ebp - 0x1a4]
jmp 0x10061f13
movss xmm0, dword [ebp - 0x194]
jmp 0x10061f13
movss xmm0, dword [ebp - 0x144]
movss xmm2, dword [0x1008d7a4]
movss dword [ebp - 0x154], xmm2
cmp edi, 0x2f
je 0x10061f5b
cmp edi, 0x60
je 0x10061f5b
cmp edi, 0x63
je 0x10061f5b
cmp edi, 0x70
je 0x10061f5b
cmp edi, 0x9b
je 0x10061f5b
cmp edi, 0x4d
je 0x10061f5b
cmp edi, 0x30
je 0x10061f77
cmp edi, 9
je 0x10061f5b
cmp edi, 0x71
je 0x10061f5b
cmp edi, 0x9c
jne 0x10061f77
cmp edi, 0x30
je 0x10061f77
cmp edi, 9
je 0x10061f77
cmp edi, 0x71
je 0x10061f77
cmp edi, 0x9c
je 0x10061f77
cmp edi, 0x4d
jne 0x10061f91
cmp edi, 0xe7
jl 0x10061f87
cmp edi, 0x110
jle 0x10061f91
cmp edi, 1
je 0x10061f91
cmp edi, 0x2e
jne 0x10061fe8
subss xmm0, dword [0x1008d7b4]
movss xmm1, dword [0x1008d7d4]
comiss xmm0, xmm1
seta al
test al, al
je 0x10061fb0
movaps xmm0, xmm1
jmp 0x10061fc0
xorps xmm1, xmm1
comiss xmm1, xmm0
seta al
test al, al
je 0x10061fc0
xorps xmm0, xmm0
mulss xmm0, dword [0x1008d574]
movaps xmm1, xmm2
subss xmm1, xmm0
ucomiss xmm1, dword [0x1008d504]
movss dword [ebp - 0x154], xmm1
lahf
test ah, 0x44
jnp 0x10062a01
mov esi, dword [ebp - 0x150]
mov ecx, esi
call fcn.10046120
mov ecx, eax
xorps xmm0, xmm0
ucomiss xmm0, dword [ecx]
lahf
test ah, 0x44
jp 0x1006201b
ucomiss xmm0, dword [ecx + 4]
lahf
test ah, 0x44
jp 0x1006201b
ucomiss xmm0, dword [ecx + 8]
lahf
test ah, 0x44
jnp 0x10062a01
mov eax, dword [0x100e42e0]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x100e86d0]
cmp eax, dword [ecx + 4]
jle 0x1006206e
push 0x100e86d0
call fcn.1007bfd7
add esp, 4
cmp dword [0x100e86d0], 0xffffffff
jne 0x1006206e
push 0x10082a70
mov byte [0x100e86fc], 0
call fcn.1007be5e
add esp, 4
push 0x100e86d0
call fcn.1007bf8d
add esp, 4
mov ecx, esi
call fcn.10046120
lea edx, [ebp - 0x184]
mov ecx, eax
call fcn.100757b0
test al, al
je 0x10062a01
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
movss xmm0, dword [ebp - 0x154]
mov byte [ebp - 4], 1
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x180]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x17c]
mov dword [ebp - 0x70], edi
movss dword [ebp - 0x60], xmm0
cmp edi, 0xe7
jl 0x100620f2
cmp edi, 0x110
jle 0x100628d8
cmp edi, 1
je 0x100628d8
cmp edi, 0x2e
je 0x100628d8
cmp edi, 0x2f
je 0x1006226b
cmp edi, 0x60
je 0x1006226b
cmp edi, 0x63
je 0x1006226b
cmp edi, 0x70
je 0x1006226b
cmp edi, 0x9b
je 0x1006226b
cmp edi, 0x4d
je 0x1006226b
cmp edi, 0x30
je 0x1006226b
cmp edi, 9
je 0x1006226b
cmp edi, 0x71
je 0x1006226b
cmp edi, 0x9c
je 0x1006226b
mov eax, 8
mov dword [ebp - 0xe0], 2
mov dword [ebp - 0xdc], 0x116625
call fcn.1007cd80
mov eax, esp
lea esi, [ebp - 0xdb]
mov dword [ebp - 0x144], eax
mov ecx, eax
sub esi, eax
mov edx, 2
nop dword [eax]
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
xor al, 0x25
mov byte [ecx - 1], al
sub edx, 1
jne 0x100621a0
mov edx, dword [ebp - 0x144]
mov ecx, edx
mov esi, dword [ebp - 0x150]
lea eax, [ecx + 1]
mov byte [edx + 2], 0
mov dword [ebp - 0x144], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100621d0
sub ecx, dword [ebp - 0x144]
push ecx
push edx
lea ecx, [ebp - 0x5c]
call fcn.100109d0
cmp edi, 0x80
jne 0x10062961
mov ecx, esi
call fcn.1005f710
cmp dword [eax], 0xffffffff
jne 0x1006220f
mov ecx, esi
call fcn.1005f840
cmp byte [eax], 0
jne 0x1006220f
xor al, al
jmp 0x10062211
mov al, 1
mov ecx, esi
mov byte [ebp - 0x38], al
call fcn.1005f710
mov ecx, esi
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
call fcn.1005f970
cmp byte [eax], 0
je 0x1006225f
mov ecx, esi
call fcn.1005faa0
movss xmm0, dword [eax]
comiss xmm0, dword [0x1008d504]
jbe 0x1006225f
mov ecx, esi
call fcn.1005faa0
movss xmm0, dword [eax]
mov eax, dword [0x100e8968]
subss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x44], xmm0
jmp 0x10062961
mov dword [ebp - 0x44], 0
jmp 0x10062961
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je 0x10062961
mov ecx, dword [0x100e896c]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x80]
call edx
test eax, eax
je 0x10062961
movaps xmm0, xmmword [str.H____:____]
mov edi, 0xc
add eax, 0xc
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x148], eax
movups xmmword [ebp - 0x10c], xmm0
lea eax, [edi + 1]
call fcn.1007cdb0
mov esi, esp
lea edi, [ebp - 0x10b]
xor ecx, ecx
mov dword [ebp - 0x158], esi
sub edi, esi
lea edx, [ecx + esi]
mov esi, 0xc
sub esi, ecx
mov cl, byte [ebp - 0x10c]
mov al, byte [edx + edi]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x100622e3
mov eax, dword [ebp - 0x158]
mov edi, 0xc
mov dword [ebp - 0xb4], 0x6261630e
mov dword [ebp - 0xb0], 0x78617a61
mov dword [ebp - 0xac], esi
mov byte [eax + edi], 0
mov edi, 7
mov dword [ebp - 0xb8], edi
lea eax, [edi + 1]
call fcn.1007cdb0
mov esi, esp
lea edi, [ebp - 0xb3]
xor ecx, ecx
mov dword [ebp - 0x15c], esi
sub edi, esi
lea edx, [ecx + esi]
mov esi, 7
sub esi, ecx
mov cl, byte [ebp - 0xb4]
mov al, byte [edx + edi]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x10062351
mov eax, dword [ebp - 0x15c]
mov edi, 7
movaps xmm0, xmmword [0x1008f770]
movups xmmword [ebp - 0xf4], xmm0
mov dword [ebp - 0xe4], 0x3f3e
mov byte [eax + edi], 0
mov edi, 0x11
mov dword [ebp - 0xf8], edi
lea eax, [edi + 1]
call fcn.1007cdb0
mov esi, esp
lea edi, [ebp - 0xf3]
xor ecx, ecx
mov dword [ebp - 0x160], esi
sub edi, esi
lea edx, [ecx + esi]
mov esi, 0x11
sub esi, ecx
mov cl, byte [ebp - 0xf4]
nop dword [eax]
mov al, byte [edx + edi]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x100623c0
mov eax, dword [ebp - 0x160]
mov edi, 0x11
movaps xmm0, xmmword [0x1008db90]
movups xmmword [ebp - 0x124], xmm0
mov byte [eax + edi], 0
mov edi, 0xb
mov dword [ebp - 0x128], edi
lea eax, [edi + 1]
call fcn.1007cdb0
mov esi, esp
lea edi, [ebp - 0x123]
xor ecx, ecx
mov dword [ebp - 0x154], esi
sub edi, esi
lea edx, [ecx + esi]
mov esi, 0xb
sub esi, ecx
mov cl, byte [ebp - 0x124]
mov al, byte [edx + edi]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x10062422
mov eax, dword [ebp - 0x154]
mov edi, 0xb
mov dword [ebp - 0x94], 0x515c5630
mov dword [ebp - 0x90], 0x51525843
mov dword [ebp - 0x8c], 0x575e
mov byte [eax + edi], 0
mov edi, 9
mov dword [ebp - 0x98], edi
lea eax, [edi + 1]
call fcn.1007cdb0
mov esi, esp
lea edi, [ebp - 0x93]
xor ecx, ecx
mov dword [ebp - 0x150], esi
sub edi, esi
lea edx, [ecx + esi]
mov esi, 9
sub esi, ecx
mov cl, byte [ebp - 0x94]
mov al, byte [edx + edi]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x10062494
mov eax, dword [ebp - 0x150]
mov edi, 9
mov dword [ebp - 0x84], 0x4d4b4a2e
mov dword [ebp - 0x80], 0x5741
mov byte [eax + edi], 0
mov edi, 5
mov dword [ebp - 0x88], edi
lea eax, [edi + 1]
call fcn.1007cdb0
mov esi, esp
lea edi, [ebp - 0x83]
xor ecx, ecx
mov dword [ebp - 0x144], esi
sub edi, esi
lea edx, [ecx + esi]
mov esi, 5
sub esi, ecx
mov cl, byte [ebp - 0x84]
nop dword [eax]
mov al, byte [edx + edi]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x10062500
mov esi, dword [ebp - 0x144]
mov edi, 5
push dword [ebp - 0x158]
mov byte [esi + edi], 0
mov edi, dword [ebp - 0x148]
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x100625bc
mov esi, 5
mov dword [ebp - 0x1c], 0x4d4f7122
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], 0x4749
lea eax, [esi + 1]
call fcn.1007cdb0
mov edi, esp
lea eax, [ebp - 0x1b]
xor ecx, ecx
mov dword [ebp - 0x144], edi
sub eax, edi
sub esi, ecx
mov dword [ebp - 0x148], eax
lea edx, [ecx + edi]
mov cl, byte [ebp - 0x1c]
mov edi, eax
nop word [eax + eax]
mov al, byte [edi + edx]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x10062580
mov edi, dword [ebp - 0x144]
mov esi, 5
mov ecx, edi
mov byte [edi + esi], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100625a4
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x5c]
call fcn.100109d0
jmp 0x10062961
push dword [ebp - 0x15c]
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x1006266c
mov esi, 7
mov dword [ebp - 0xc4], 0xb082a67
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc0], 0x11081308
mov dword [ebp - 0xbc], 0
lea eax, [esi + 1]
call fcn.1007cdb0
mov edi, esp
lea eax, [ebp - 0xc3]
xor ecx, ecx
mov dword [ebp - 0x144], edi
sub eax, edi
sub esi, ecx
mov dword [ebp - 0x148], eax
lea edx, [ecx + edi]
mov cl, byte [ebp - 0xc4]
mov edi, eax
nop word [eax + eax]
mov al, byte [edx + edi]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x10062630
mov edi, dword [ebp - 0x144]
mov esi, 7
mov ecx, edi
mov byte [edi + esi], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10062654
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x5c]
call fcn.100109d0
jmp 0x10062961
push dword [ebp - 0x160]
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x100626f8
mov eax, 0x10
mov dword [ebp - 0xd8], 0xa
mov dword [ebp - 0xd4], 0x24290e47
mov dword [ebp - 0xd0], 0x2e232922
mov dword [ebp - 0xcc], 0x3e3526
call fcn.1007cd80
mov edi, esp
lea esi, [ebp - 0xd3]
mov ecx, edi
sub esi, edi
mov edx, 0xa
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
xor al, 0x47
mov byte [ecx - 1], al
sub edx, 1
jne 0x100626c3
mov ecx, edi
mov byte [edi + 0xa], dl
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100626e0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x5c]
call fcn.100109d0
jmp 0x10062961
push dword [ebp - 0x154]
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x10062798
movaps xmm0, xmmword [0x1008ddc0]
mov esi, 0xc
mov dword [ebp - 0x140], esi
movups xmmword [ebp - 0x13c], xmm0
lea eax, [esi + 1]
call fcn.1007cdb0
mov edi, esp
lea eax, [ebp - 0x13b]
xor ecx, ecx
mov dword [ebp - 0x144], edi
sub eax, edi
sub esi, ecx
mov dword [ebp - 0x148], eax
lea edx, [ecx + edi]
mov cl, byte [ebp - 0x13c]
mov edi, eax
mov al, byte [edx + edi]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x10062756
mov edi, dword [ebp - 0x144]
mov esi, 0xc
mov ecx, edi
mov byte [edi + esi], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10062780
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x5c]
call fcn.100109d0
jmp 0x10062961
push dword [ebp - 0x150]
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x10062848
mov esi, 9
mov dword [ebp - 0xa4], 0x505d7731
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa0], 0x50535942
mov dword [ebp - 0x9c], 0x565f
lea eax, [esi + 1]
call fcn.1007cdb0
mov edi, esp
lea eax, [ebp - 0xa3]
xor ecx, ecx
mov dword [ebp - 0x144], edi
sub eax, edi
sub esi, ecx
mov dword [ebp - 0x148], eax
lea edx, [ecx + edi]
mov cl, byte [ebp - 0xa4]
mov edi, eax
mov al, byte [edi + edx]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x10062806
mov edi, dword [ebp - 0x144]
mov esi, 9
mov ecx, edi
mov byte [edi + esi], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10062830
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x5c]
call fcn.100109d0
jmp 0x10062961
push esi
push edi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x10062961
mov esi, 5
mov dword [ebp - 0x78], 0x7d7b5a1e
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x74], 0x6771
lea eax, [esi + 1]
call fcn.1007cdb0
mov edi, esp
lea eax, [ebp - 0x77]
xor ecx, ecx
mov dword [ebp - 0x144], edi
sub eax, edi
sub esi, ecx
mov dword [ebp - 0x148], eax
lea edx, [ecx + edi]
mov cl, byte [ebp - 0x78]
mov edi, eax
mov al, byte [edx + edi]
lea edx, [edx + 1]
xor al, cl
mov byte [edx - 1], al
sub esi, 1
jne 0x10062898
mov edi, dword [ebp - 0x144]
mov esi, 5
mov ecx, edi
mov byte [edi + esi], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100628c0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x5c]
call fcn.100109d0
jmp 0x10062961
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, dword [eax + 8]
cmp byte [esi], 0x43
jne 0x100628ee
inc esi
push str.Weapon
push esi
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x10062904
lea esi, [eax + 6]
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10062910
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x5c]
call fcn.100109d0
cmp edi, 0xe7
jl 0x10062933
cmp edi, 0x110
jle 0x1006293d
cmp edi, 1
je 0x1006293d
cmp edi, 0x2e
jne 0x10062961
mov esi, dword [ebp - 0x150]
mov ecx, esi
call fcn.10041280
mov ecx, esi
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x734]
call eax
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x3c], eax
mov esi, dword [ebp - 0x28]
cmp esi, dword [ebp - 0x24]
je 0x100629bc
movss xmm0, dword [ebp - 0x6c]
lea ecx, [esi + 0x14]
mov eax, dword [ebp - 0x70]
movss dword [esi + 4], xmm0
movq xmm0, qword [ebp - 0x68]
mov dword [esi], eax
mov eax, dword [ebp - 0x60]
movq qword [esi + 8], xmm0
mov dword [esi + 0x10], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.1000f4e0
mov eax, dword [ebp - 0x40]
movss xmm0, dword [ebp - 0x44]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x34], eax
mov al, byte [ebp - 0x38]
mov byte [esi + 0x38], al
mov eax, dword [ebp - 0x34]
movss dword [esi + 0x2c], xmm0
mov dword [esi + 0x3c], eax
add dword [ebp - 0x28], 0x40
jmp 0x100629c9
lea eax, [ebp - 0x70]
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.10066240
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x48]
cmp edx, 0x10
jb 0x10062a01
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100629f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10062aa4
push edx
push ecx
call fcn.1007be73
add esp, 8
mov ecx, dword [0x100e8960]
inc dword [ebp - 0x164]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov esi, dword [ebp - 0x164]
cmp esi, eax
jl 0x10061d10
mov edi, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x2c]
add edi, 0x4dc8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x168], edi
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x14c], eax
cmp esi, eax
je 0x10062b65
mov edi, eax
sub edi, esi
sar edi, 6
cmp edi, 0x3ffffff
ja 0x10062c6f
shl edi, 6
cmp edi, 0x1000
jb 0x10062aaa
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x10062c6f
push eax
call fcn.1007ba14
add esp, 4
test eax, eax
je 0x10062aa4
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x10062abd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
test edi, edi
je 0x10062abb
push edi
call fcn.1007ba14
add esp, 4
mov esi, eax
jmp 0x10062abd
xor esi, esi
lea eax, [edi + esi]
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x144], eax
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x148]
mov byte [ebp - 4], 3
add edi, 8
mov eax, dword [edi - 8]
lea ecx, [esi + 0x14]
mov dword [esi], eax
mov eax, dword [edi - 4]
mov dword [esi + 4], eax
movq xmm0, qword [edi]
movq qword [esi + 8], xmm0
mov eax, dword [edi + 8]
mov dword [esi + 0x10], eax
lea eax, [edi + 0xc]
push eax
call fcn.1000f4e0
mov eax, dword [edi + 0x24]
lea edi, [edi + 0x40]
mov dword [esi + 0x2c], eax
mov eax, dword [edi - 0x18]
mov dword [esi + 0x30], eax
mov eax, dword [edi - 0x14]
mov dword [esi + 0x34], eax
mov al, byte [edi - 0x10]
mov byte [esi + 0x38], al
mov eax, dword [edi - 0xc]
mov dword [esi + 0x3c], eax
add esi, 0x40
lea eax, [edi - 8]
mov dword [ebp - 0x1c], esi
cmp eax, dword [ebp - 0x14c]
jne 0x10062af7
push ecx
mov edx, esi
mov ecx, esi
call fcn.10066470
mov edi, dword [ebp - 0x168]
add esp, 4
mov dword [ebp - 0x78], esi
lea esi, [edi + 0x3c]
mov byte [ebp - 4], 4
push esi
mov dword [ebp - 0x14c], esi
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x10062b87
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov byte [ebp - 4], 5
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 8]
inc eax
cmp edx, eax
ja 0x10062ba1
push ecx
mov ecx, edi
call fcn.10065740
mov edx, dword [edi + 8]
lea eax, [edx - 1]
and dword [edi + 0xc], eax
mov ecx, dword [edi + 0xc]
cmove ecx, edx
dec ecx
mov dword [ebp - 0x148], ecx
and ecx, eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x144], ecx
cmp dword [eax + ecx*4], 0
jne 0x10062be0
push 0xc
call fcn.1007ba14
mov ecx, dword [edi + 4]
add esp, 4
mov edx, dword [ebp - 0x144]
mov dword [ecx + edx*4], eax
mov ecx, edx
mov eax, dword [edi + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], 0
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x16c]
mov dword [edi], eax
mov eax, dword [ebp - 0x148]
mov dword [edi + 8], edx
inc dword [ecx + 0x4dd8]
mov dword [ecx + 0x4dd4], eax
lea eax, [ecx + 0x4ddc]
push eax
call dword [sym.imp.MSVCP140.dll__Cnd_signal]
add esp, 4
push esi
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
add esp, 4
lea ecx, [ebp - 0x7c]
call fcn.100653f0
lea ecx, [ebp - 0x2c]
call fcn.100653f0
lea esp, [ebp - 0x1b4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1007ba06
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.1000b0a0
int3