Function at 0x100a9680
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ca2d2
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x100db040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
mov dword [ebp - 4], 0
test eax, eax
je 0x100aa4e8
cmp dword [0x101dfca8], 0
je 0x100aa4e8
mov edi, dword [eax + 8]
mov eax, dword [0x102083b8]
test al, 1
jne 0x100a973c
or eax, 1
mov dword [0x102083b8], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x258]
call fcn.10046ae0
push 0xda7d68cb
mov edx, eax
mov ecx, 0x102083bc
call fcn.10046f40
push 0x100cb670
call fcn.100c17f1
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x102083bc]
call eax
mov esi, eax
mov dword [ebp - 0x27c], esi
test edi, edi
je 0x100a97cc
test esi, esi
je 0x100a97cc
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x278], ecx
test ecx, ecx
je 0x100a97cc
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100a97a9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100a9780
xor edx, edx
test ecx, ecx
je 0x100a97a9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100a9790
cmp edi, 0xd791104e
je 0x100a97c4
mov ecx, dword [ebp - 0x278]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x278], ecx
test ecx, ecx
je 0x100a97cc
mov esi, dword [ebp - 0x27c]
jmp 0x100a9760
mov ecx, dword [ebp - 0x278]
jmp 0x100a97ce
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100a97d8.2
jmp dword [eax*4 + 0x100aa53c]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x100a9837
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x100a9837
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x27c], xmm0
fld dword [ebp - 0x27c]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp dword [ebp - 0x27c]
cvttss2si edx, dword [ebp - 0x27c]
add esp, 8
jmp 0x100a9837
xor edx, edx
jmp 0x100a9837
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x102030d0]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edi, dword [ebp - 0x280]
mov ecx, dword [0x102083b8]
mov dword [ebp - 0x284], eax
mov edi, dword [edi + 8]
test cl, 1
jne 0x100a989e
or ecx, 1
mov dword [0x102083b8], ecx
mov edx, 0x990704d7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x258]
call fcn.10046ae0
push 0xda7d68cb
mov edx, eax
mov ecx, 0x102083bc
call fcn.10046f40
push 0x100cb670
call fcn.100c17f1
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x102083bc]
call eax
mov esi, eax
mov dword [ebp - 0x27c], esi
test edi, edi
je 0x100a992c
test esi, esi
je 0x100a992c
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x278], ecx
test ecx, ecx
je 0x100a992c
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100a9909
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x100a98e0
xor edx, edx
test ecx, ecx
je 0x100a9909
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100a98f0
cmp edi, 0x11ab48ff
je 0x100a9924
mov ecx, dword [ebp - 0x278]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x278], ecx
test ecx, ecx
je 0x100a992c
mov esi, dword [ebp - 0x27c]
jmp 0x100a98c2
mov ecx, dword [ebp - 0x278]
jmp 0x100a992e
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100a9938.2
jmp dword [eax*4 + 0x100aa558]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x100a9997
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x100a9997
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x27c], xmm0
fld dword [ebp - 0x27c]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp dword [ebp - 0x27c]
cvttss2si edx, dword [ebp - 0x27c]
add esp, 8
jmp 0x100a9997
xor edx, edx
jmp 0x100a9997
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x102030d0]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edi, dword [ebp - 0x284]
mov esi, eax
mov dword [ebp - 0x14], esi
lea ecx, [edi - 1]
cmp ecx, 0x3f
ja 0x100aa4e8
lea ecx, [esi - 1]
cmp ecx, 0x3f
ja 0x100aa4e8
mov ecx, dword [0x102030d0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp edi, eax
jne 0x100aa4e8
mov ecx, dword [0x102030d0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp esi, eax
je 0x100aa4e8
mov eax, dword [ebp - 0x280]
mov edi, dword [eax + 8]
mov eax, dword [0x102083b8]
test al, 1
jne 0x100a9a42
or eax, 1
mov dword [0x102083b8], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x258]
call fcn.10046ae0
push 0xda7d68cb
mov edx, eax
mov ecx, 0x102083bc
call fcn.10046f40
push 0x100cb670
call fcn.100c17f1
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x102083bc]
call eax
mov esi, eax
mov dword [ebp - 0x27c], esi
test edi, edi
je 0x100a9acd
test esi, esi
je 0x100a9acd
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x278], ecx
test ecx, ecx
je 0x100a9acd
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100a9aaa
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100a9a84
xor edx, edx
test ecx, ecx
je 0x100a9aaa
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100a9a91
cmp edi, 0x2a7e565d
je 0x100a9ac5
mov ecx, dword [ebp - 0x278]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x278], ecx
test ecx, ecx
je 0x100a9acd
mov esi, dword [ebp - 0x27c]
jmp 0x100a9a66
mov ecx, dword [ebp - 0x278]
jmp 0x100a9acf
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100a9ad9.2
jmp dword [eax*4 + 0x100aa574]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov esi, eax
jmp 0x100a9b46
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov dword [ebp - 0x284], eax
mov esi, eax
jmp 0x100a9b4c
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x27c], xmm0
fld dword [ebp - 0x27c]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp dword [ebp - 0x27c]
cvttss2si esi, dword [ebp - 0x27c]
add esp, 8
jmp 0x100a9b46
mov dword [ebp - 0x284], 0
jmp 0x100a9b55
mov esi, dword [ecx + 0xc]
mov dword [ebp - 0x284], esi
cmp esi, 0xa
je 0x100aa4e8
mov ecx, dword [0x102030d4]
mov edi, dword [ebp - 0x14]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x27c], eax
test eax, eax
je 0x100aa4e8
mov esi, dword [0x102030d0]
lea eax, [ebp - 0x24c]
push eax
push edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
mov ecx, esi
call edx
test al, al
je 0x100aa4e8
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9bb1
sub ecx, edx
lea eax, [ebp - 0x23c]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.10026a60
mov byte [ebp - 4], 4
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x24]
mov ecx, 0x18
cmp dword [ebp - 0x28], ecx
xorps xmm0, xmm0
mov esi, dword [ebp - 0x38]
cmovb ecx, dword [ebp - 0x28]
cmp edx, 0xf
movups xmmword [ebp - 0x264], xmm0
cmova eax, esi
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
cmp ecx, 0xf
jbe 0x100a9c35
cmp edx, 0xf
mov dword [ebp - 0x28], ecx
lea eax, [ebp - 0x38]
cmova eax, esi
mov esi, 0xf
mov byte [eax + ecx], 0
movq xmm1, qword [ebp - 0x28]
movups xmm0, xmmword [ebp - 0x38]
mov byte [ebp - 0x38], 0
movq qword [ebp - 0x1c], xmm1
jmp 0x100a9c59
push ecx
push eax
lea ecx, [ebp - 0x264]
call fcn.10026a60
movq xmm0, qword [ebp - 0x254]
mov esi, dword [ebp - 0x24]
movq qword [ebp - 0x1c], xmm0
movups xmm0, xmmword [ebp - 0x264]
mov ecx, dword [ebp - 0x48]
movups xmmword [ebp - 0x25c], xmm0
cmp ecx, 0xf
jbe 0x100a9c94
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9c8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa50e
push ecx
push edx
call fcn.100c180b
add esp, 8
movups xmm0, xmmword [ebp - 0x25c]
movups xmmword [ebp - 0x5c], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [ebp - 0x4c], xmm0
mov byte [ebp - 4], 0
cmp esi, 0xf
jbe 0x100a9ce0
mov edx, dword [ebp - 0x38]
lea ecx, [esi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9cd6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aa50e
push ecx
push edx
call fcn.100c180b
add esp, 8
mov eax, dword [ebp - 0x280]
mov edi, dword [eax + 8]
mov eax, dword [0x102083b8]
test al, 1
jne 0x100a9d30
or eax, 1
mov dword [0x102083b8], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x258]
call fcn.10046ae0
push 0xda7d68cb
mov edx, eax
mov ecx, 0x102083bc
call fcn.10046f40
push 0x100cb670
call fcn.100c17f1
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x102083bc]
call eax
mov esi, eax
mov dword [ebp - 0x14], esi
test edi, edi
je 0x100a9db9
test esi, esi
je 0x100a9db9
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x278], ecx
test ecx, ecx
je 0x100a9db9
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100a9d99
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100a9d70
xor edx, edx
test ecx, ecx
je 0x100a9d99
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100a9d80
cmp edi, 0xa0d9523e
je 0x100a9db1
mov ecx, dword [ebp - 0x278]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x278], ecx
test ecx, ecx
je 0x100a9db9
mov esi, dword [ebp - 0x14]
jmp 0x100a9d51
mov ecx, dword [ebp - 0x278]
jmp 0x100a9dbb
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100a9dc5.2
jmp dword [eax*4 + 0x100aa590]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x100a9e14
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x100a9e14
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp dword [ebp - 0x14]
cvttss2si eax, dword [ebp - 0x14]
add esp, 8
jmp 0x100a9e14
xor eax, eax
jmp 0x100a9e14
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x280]
mov edi, dword [eax + 8]
mov eax, dword [0x102083b8]
test al, 1
jne 0x100a9e6a
or eax, 1
mov dword [0x102083b8], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x258]
call fcn.10046ae0
push 0xda7d68cb
mov edx, eax
mov ecx, 0x102083bc
call fcn.10046f40
push 0x100cb670
call fcn.100c17f1
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x102083bc]
call eax
mov esi, eax
mov dword [ebp - 0x14], esi
test edi, edi
je 0x100a9ef9
test esi, esi
je 0x100a9ef9
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x280], ecx
test ecx, ecx
je 0x100a9ef9
nop dword [eax + eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100a9ed9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100a9eb0
xor edx, edx
test ecx, ecx
je 0x100a9ed9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100a9ec0
cmp edi, 0x6b98ed8f
je 0x100a9ef1
mov ecx, dword [ebp - 0x280]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x280], ecx
test ecx, ecx
je 0x100a9ef9
mov esi, dword [ebp - 0x14]
jmp 0x100a9e90
mov ecx, dword [ebp - 0x280]
jmp 0x100a9efb
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100a9f05.2
jmp dword [eax*4 + 0x100aa5ac]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x100a9f54
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x100a9f54
movss xmm0, dword [ecx + 0xc]
sub esp, 8
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp dword [ebp - 0x14]
cvttss2si eax, dword [ebp - 0x14]
add esp, 8
jmp 0x100a9f54
xor eax, eax
jmp 0x100a9f54
mov eax, dword [ecx + 0xc]
cmp byte [0x101ed774], 0
mov dword [ebp - 0x44], eax
je 0x100aa002
mov eax, dword [0x1020312c]
movaps xmm2, xmmword [0x100d0390]
mov dword [0x10208274], 0x3f800000
mov word [ebp - 0x20], 0x1f69
movss xmm0, dword [eax + 0x10]
xor eax, eax
movss dword [0x1020826c], xmm0
addss xmm0, dword [0x100d00d0]
movss dword [0x10208270], xmm0
movaps xmm0, xmmword [0x100d0a70]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x100d0fb0]
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [ebp + eax - 0x40]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x40], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100a9fb5
cmp eax, 0x22
jae 0x100a9fdd
xor byte [ebp + eax - 0x40], 0x1f
inc eax
cmp eax, 0x22
jb 0x100a9fd2
mov ecx, dword [0x10203124]
lea edx, [ebp - 0x40]
push ecx
mov dword [esp], 0
push 0
mov eax, dword [ecx]
push 0x64
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [eax + 0x30]
push edx
call eax
push 1
push dword [0x101ed410]
push dword [0x101ed40c]
call fcn.100c1310
cmp eax, dword [0x101ed410]
je 0x100aa2d0
movd xmm0, dword [ebp - 0x278]
movaps xmm2, xmmword [0x100d0390]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x254], 0x71767176
mov dword [ebp - 0x250], 0x1f153678
cvttss2si eax, xmm0
movaps xmm0, xmmword [0x100d0b50]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x284]
movups xmmword [ebp - 0x274], xmm0
movaps xmm0, xmmword [0x100d0fe0]
lea eax, [eax + eax*2]
lea esi, [eax*8 + 0x10203c38]
xor eax, eax
movups xmmword [ebp - 0x264], xmm0
nop
movups xmm0, xmmword [ebp + eax - 0x274]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x274], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100aa080
cmp eax, 0x28
jae 0x100aa0b1
xor byte [ebp + eax - 0x274], 0x1f
inc eax
cmp eax, 0x28
jb 0x100aa0a3
push 0x98
lea eax, [ebp - 0xf4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xf4], 0x100cd5e8
lea ecx, [ebp - 0xa4]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x14], 5
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xf4], 0x100cd5e4
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xf8], eax
lea ecx, [ebp - 0xf0]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp - 0xf0], 0x100cd57c
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 4
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x5c]
push esi
push eax
lea edx, [ebp - 0x274]
lea ecx, [ebp - 0xf4]
call fcn.100aac00
add esp, 0x10
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0xf0]
push eax
call fcn.1002a800
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xf4], 0x100cd5e4
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xf8], eax
lea ecx, [ebp - 0xf0]
call fcn.10026160
lea ecx, [ebp - 0xec]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xa4]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x38]
mov eax, dword [0x100cfd54]
lea ecx, [ebp - 0x254]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x41000000
push eax
call fcn.1002aa10
add esp, 8
mov edx, eax
mov byte [ebp - 4], 0xb
mov ecx, dword [0x10203284]
cmp ecx, dword [0x10203288]
je 0x100aa245
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx], 0
mov dword [edx + 4], 0
add dword [0x10203284], 8
jmp 0x100aa24c
push edx
push ecx
call fcn.1002af50
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x250]
test esi, esi
je 0x100aa27b
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100aa27b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x100aa27b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.1002a640
push 0x101dfca8
call fcn.10030a00
mov byte [ebp - 4], 0
add esp, 0x1c
mov ecx, dword [ebp - 0x24]
cmp ecx, 0xf
jbe 0x100aa2d0
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa2c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100aa2c6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c180b
add esp, 8
cmp dword [ebp - 0x284], 0
je 0x100aa4e8
mov edi, dword [0x10203d10]
mov esi, dword [0x10203d0c]
cmp esi, edi
je 0x100aa317
nop dword [eax]
mov edx, dword [0x1020330c]
mov eax, dword [0x101dfca8]
add edx, 0xffffffc2
mov ecx, dword [esi + 0x18]
xor edx, 0x60d29cef
cmp ecx, dword [edx + eax]
jne 0x100aa310
mov byte [esi + 0x1d], 1
add esi, 0x20
cmp esi, edi
jne 0x100aa2f0
mov eax, dword [0x10203d28]
test eax, eax
je 0x100aa4e8
mov edx, dword [0x10203d24]
lea edi, [eax + edx]
cmp edx, edi
je 0x100aa4e8
mov ecx, dword [0x1020330c]
mov eax, dword [0x101dfca8]
add ecx, 0xffffffc2
mov esi, dword [0x10203d20]
xor ecx, 0x60d29cef
dec esi
mov dword [ebp - 0x14], esi
mov eax, dword [ecx + eax]
mov ecx, dword [0x10203d1c]
mov dword [ebp - 0x18], eax
nop
mov eax, edx
and eax, esi
mov esi, dword [ecx + eax*4]
mov eax, dword [ebp - 0x18]
cmp dword [esi + 4], eax
jne 0x100aa381
mov eax, dword [esi]
mov ecx, dword [ebp - 0x27c]
cmp dword [eax], ecx
mov ecx, dword [0x10203d1c]
je 0x100aa38f
inc edx
cmp edx, edi
je 0x100aa4e8
mov esi, dword [ebp - 0x14]
jmp 0x100aa360
movd xmm0, dword [ebp - 0x278]
mov eax, dword [ebp - 0x284]
mov ecx, dword [0x10203d34]
mov dword [ebp - 0x254], eax
mov eax, dword [0x10203d3c]
cvtdq2ps xmm0, xmm0
inc eax
mov dword [ebp - 0x258], esi
movss dword [ebp - 0x250], xmm0
cmp ecx, eax
ja 0x100aa3d5
push ecx
mov ecx, 0x10203d2c
call fcn.10032c80
mov ecx, dword [0x10203d34]
mov edx, dword [0x10203d30]
lea edi, [ecx - 1]
and edi, dword [0x10203d38]
lea eax, [ecx - 1]
mov dword [0x10203d38], edi
cmove edi, ecx
dec edi
and eax, edi
mov dword [ebp - 0x18], eax
cmp dword [edx + eax*4], 0
jne 0x100aa41e
push 0xc
call fcn.100c13a7
mov ecx, dword [0x10203d30]
add esp, 4
mov edx, dword [ebp - 0x18]
mov dword [ecx + edx*4], eax
mov ecx, dword [0x10203d34]
mov edx, dword [0x10203d30]
movq xmm0, qword [ebp - 0x258]
lea eax, [ecx - 1]
and eax, edi
mov ecx, dword [edx + eax*4]
mov eax, dword [ebp - 0x250]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [0x10203d3c]
inc eax
mov dword [0x10203d38], edi
mov dword [0x10203d3c], eax
cmp eax, 0x80
jbe 0x100aa470
add eax, 0xffffffff
mov dword [0x10203d3c], eax
je 0x100aa466
cmp eax, 0x80
ja 0x100aa453
jmp 0x100aa470
mov dword [0x10203d38], 0
mov ecx, dword [ebp - 0x27c]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x44c
lea ecx, [eax + 0x101eee70]
test ecx, ecx
je 0x100aa4e8
mov dword [ecx + 0x2c], 0
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3ec]
cmp eax, 6
jne 0x100aa4ba
mov eax, dword [ecx + 0x440]
test eax, eax
jle 0x100aa4e8
dec eax
mov dword [ecx + 0x440], eax
jmp 0x100aa4e8
cmp eax, 2
jne 0x100aa4d2
mov eax, dword [ecx + 0x438]
test eax, eax
jle 0x100aa4e8
dec eax
mov dword [ecx + 0x438], eax
jmp 0x100aa4e8
cmp eax, 4
jne 0x100aa4e8
mov eax, dword [ecx + 0x43c]
test eax, eax
jle 0x100aa4e8
dec eax
mov dword [ecx + 0x43c], eax
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x100aa51e
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa514
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100aa514
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c180b
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100c138b
mov esp, ebp
pop ebp
ret 4