Function at 0x1017ca40
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xf8
push esi
mov esi, dword [0x1034e164]
push edi
mov edi, ecx
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], edi
mov eax, dword [esi + 0x1cdc]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1cdc]
mov dword [esp + 0xe4], eax
cmp byte [eax + 0x8f], 0
jne 0x1017dd3e
push 0
push edi
mov ecx, eax
call fcn.10145040
push ecx
mov dword [esp], 0xbf800000
lea ecx, [esp + 0xec]
push 1
push 0
mov edx, edi
mov dword [esp + 0xdc], eax
call fcn.10149ba0
movss xmm2, dword [esi + 0x1554]
lea ecx, [esp + 0xfc]
movss xmm1, dword [esi + 0x1550]
add esp, 0xc
mov eax, dword [esp + 0xe4]
mulss xmm2, dword [0x102fb050]
mov dword [esp + 0x14], 0x41d20000
mulss xmm1, dword [0x102fb050]
mov dword [esp + 0x10], 0x42ea0000
movss xmm0, dword [eax + 0xd0]
addss xmm2, dword [esp + 0xec]
addss xmm1, dword [esp + 0xe8]
push dword [esp + 0x14]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [eax + 0xd4]
push dword [esp + 0x14]
movss dword [esp + 0xd4], xmm0
call fcn.10136c60
movss xmm2, dword [esp + 0x84]
lea ecx, [esp + 0xf8]
movss xmm3, dword [esp + 0xd4]
movaps xmm1, xmm2
addss xmm1, dword [esp + 0xf8]
movaps xmm0, xmm3
movss dword [esp + 0xdc], xmm2
addss xmm0, dword [esp + 0xfc]
movss dword [esp + 0xe0], xmm3
movss dword [esp + 0xe4], xmm1
movss xmm1, dword [esi + 0x1554]
movss dword [esp + 0xe8], xmm0
call fcn.10137420
mov esi, dword [esp + 0xd8]
lea ecx, [esp + 0xdc]
push 0
push 0
mov edx, esi
call fcn.10137200
add esp, 0x10
test al, al
je 0x1017dd3e
push 0
lea eax, [esp + 0x86]
mov edx, esi
push eax
lea eax, [esp + 0x8b]
push eax
lea ecx, [esp + 0xe0]
call fcn.1017aba0
mov ecx, dword [0x1034e164]
mov dl, al
mov eax, dword fs:[0x2c]
add esp, 0xc
mov byte [esp + 0xf], dl
movups xmm0, xmmword [ecx + 0x196c]
mov ecx, dword [0x1034bc9c]
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x90], xmm0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10359138]
cmp eax, dword [ecx + 4]
jg 0x1017dd44
jmp 0x1017cc32
mov dl, byte [esp + 0xf]
mov eax, dword [0x1034a740]
cmp byte [eax + 0x55], 0
je 0x1017cc43
mov byte [eax + 0x55], 0
jmp 0x1017cc47
test dl, dl
je 0x1017cc69
mov eax, dword [0x1034e164]
push 0
push str.modalchangelog
mov ecx, dword [eax + 0x1cdc]
call fcn.10145040
xor edx, edx
mov ecx, eax
call fcn.10135b60
jmp 0x1017ccb0
cmp byte [esp + 0x82], 0
je 0x1017cc92
xor edx, edx
mov ecx, str.modalchangelog
call fcn.10135d80
nop
test al, al
jne 0x1017cc92
mov eax, dword [0x1034e164]
movups xmm0, xmmword [eax + 0x198c]
jmp 0x1017cca8
cmp byte [esp + 0x83], 0
je 0x1017ccb0
mov eax, dword [0x1034e164]
movups xmm0, xmmword [eax + 0x197c]
movups xmmword [esp + 0x90], xmm0
mov edi, dword [0x1034e164]
xor esi, esi
nop dword [eax + eax]
movss xmm0, dword [esi + 0x10359140]
sub esp, 8
subss xmm0, dword [esp + esi + 0x98]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d5947
movss xmm1, dword [esi + 0x10359140]
add esp, 8
movss xmm2, dword [esp + esi + 0x90]
comiss xmm2, xmm1
fstp dword [esp + 0x7c]
jbe 0x1017cd27
movss xmm0, dword [esp + 0x7c]
mulss xmm0, dword [edi + 0x18]
mulss xmm0, dword [0x102fb0e4]
addss xmm0, xmm1
minss xmm0, xmm2
movss dword [esi + 0x10359140], xmm0
jmp 0x1017cd4f
comiss xmm1, xmm2
jbe 0x1017cd4f
movss xmm0, dword [esp + 0x7c]
mulss xmm0, dword [edi + 0x18]
mulss xmm0, dword [0x102fb0f4]
subss xmm1, xmm0
maxss xmm1, xmm2
movss dword [esi + 0x10359140], xmm1
add esi, 4
cmp esi, 0xc
jl 0x1017ccc0
mov esi, dword [esp + 0x88]
lea ecx, [esp + 0x90]
mov eax, dword [0x1034e164]
movss xmm0, dword [esi + 0x1558]
movss dword [esp + 0x88], xmm0
movaps xmm0, xmmword [0x10359140]
movaps xmmword [esp + 0x90], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [eax + 0x1518]
movss dword [esp + 0x9c], xmm0
call fcn.101422a0
push dword [esp + 0xe0]
movss xmm2, dword [esp + 0x8c]
xor dl, dl
push dword [esp + 0xe0]
mov ecx, eax
push dword [esp + 0xe0]
push dword [esp + 0xe0]
call fcn.1013fc80
mov eax, dword fs:[0x2c]
add esp, 0x10
mov ecx, dword [0x1034bc9c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10359150]
cmp eax, dword [ecx + 4]
jg 0x1017dd7c
mov eax, dword [0x1034e164]
push 0
push dword [esp + 0x88]
mov ecx, dword [eax + 0x1cdc]
call fcn.10145040
movups xmm0, xmmword ds:[esi + 0x15dc]
mov dword [esp + 0xc4], eax
mov ecx, 0x10359154
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0xcc]
push eax
movups xmmword [esp + 0xb8], xmm0
call fcn.10046520
mov eax, dword [esp + 0xc8]
cmp eax, dword [0x10359154]
jne 0x1017cea8
lea eax, [esp + 0xb0]
mov ecx, 0x10359154
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x100]
push eax
call fcn.10046d80
lea eax, [esp + 0xc4]
mov ecx, 0x10359154
push eax
call fcn.1004cd80
push 0x10359154
push eax
lea ecx, [esp + 0x90]
call fcn.10046a90
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc8], eax
movss xmm0, dword [0x10359140]
sub esp, 8
movss xmm1, dword [esp + 0xbc]
addss xmm1, dword [esp + 0xb8]
addss xmm0, dword [0x10359144]
addss xmm1, dword [esp + 0xc0]
addss xmm0, dword [0x10359148]
divss xmm1, dword [0x102fb07c]
divss xmm0, dword [0x102fb07c]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100d5947
movss xmm0, dword [0x102faf7c]
add esp, 8
fstp dword [esp + 0x88]
comiss xmm0, dword [esp + 0x88]
movss xmm0, dword [0x102fb004]
jbe 0x1017cf62
movaps xmm3, xmm0
movaps xmm2, xmm0
subss xmm3, dword [esp + 0xb0]
subss xmm2, dword [esp + 0xb4]
subss xmm0, dword [esp + 0xb8]
movss dword [esp + 0xb0], xmm3
movss dword [esp + 0xb4], xmm2
movss dword [esp + 0xb8], xmm0
jmp 0x1017cf74
movss xmm2, dword [esp + 0xb4]
movss xmm3, dword [esp + 0xb0]
mov ecx, dword [esp + 0xc8]
movss xmm1, dword [0x102fb0b8]
add ecx, 0x14
movss xmm4, dword [ecx]
comiss xmm3, xmm4
jbe 0x1017cfa6
movss xmm0, dword [edi + 0x18]
mulss xmm0, xmm1
addss xmm0, xmm4
minss xmm0, xmm3
movss dword [ecx], xmm0
jmp 0x1017cfc0
comiss xmm4, xmm3
jbe 0x1017cfc9
movss xmm0, dword [edi + 0x18]
mulss xmm0, xmm1
subss xmm4, xmm0
maxss xmm4, xmm3
movss dword [ecx], xmm4
movss xmm2, dword [esp + 0xb4]
movss xmm3, dword [ecx + 4]
comiss xmm2, xmm3
jbe 0x1017cfeb
movss xmm0, dword [edi + 0x18]
mulss xmm0, xmm1
addss xmm0, xmm3
minss xmm0, xmm2
movss dword [ecx + 4], xmm0
jmp 0x1017d006
comiss xmm3, xmm2
jbe 0x1017d006
movss xmm0, dword [edi + 0x18]
mulss xmm0, xmm1
subss xmm3, xmm0
maxss xmm3, xmm2
movss dword [ecx + 4], xmm3
movss xmm2, dword [ecx + 8]
movss xmm3, dword [esp + 0xb8]
comiss xmm3, xmm2
jbe 0x1017d031
movss xmm0, dword [edi + 0x18]
mulss xmm0, xmm1
addss xmm0, xmm2
minss xmm0, xmm3
movss dword [ecx + 8], xmm0
jmp 0x1017d055
movss xmm3, dword [esp + 0xb8]
comiss xmm2, xmm3
jbe 0x1017d055
movss xmm0, dword [edi + 0x18]
mulss xmm0, xmm1
subss xmm2, xmm0
maxss xmm2, xmm3
movss dword [ecx + 8], xmm2
movss xmm2, dword [ecx + 0xc]
movss xmm3, dword [esp + 0xbc]
comiss xmm3, xmm2
jbe 0x1017d082
movss xmm0, dword ds:[edi + 0x18]
mulss xmm0, xmm1
addss xmm0, xmm2
minss xmm0, xmm3
movss dword [ecx + 0xc], xmm0
jmp 0x1017d09d
comiss xmm2, xmm3
jbe 0x1017d09d
movss xmm0, dword [edi + 0x18]
mulss xmm0, xmm1
subss xmm2, xmm0
maxss xmm2, xmm3
movss dword [ecx + 0xc], xmm2
nop dword [eax]
call fcn.101422a0
mov edx, eax
xor ecx, ecx
call fcn.10145560
movss xmm3, dword [esp + 0xd4]
lea eax, [esp + 0xdc]
movss xmm0, dword [esp + 0xd8]
lea edx, [esp + 0xd4]
addss xmm3, dword [esp + 0xdc]
addss xmm0, dword [esp + 0xe0]
movss xmm4, dword [0x102fb050]
lea ecx, [esp + 0x10]
movss xmm1, dword [esp + 0xe8]
movss xmm2, dword [esp + 0xec]
divss xmm1, xmm4
mov edi, dword [esp + 0x84]
push 0
push edi
push eax
divss xmm2, xmm4
divss xmm3, xmm4
divss xmm0, xmm4
subss xmm3, xmm1
subss xmm0, xmm2
movss dword [esp + 0x1c], xmm3
movss dword [esp + 0x20], xmm0
call fcn.101402a0
add esp, 0xc
mov ecx, 1
call fcn.10145c00
mov eax, dword [0x1034e164]
xor edx, edx
push 0
mov ecx, str.modalchangelog
or dword [eax + 0x1d60], 2
mov dword [eax + 0x1d80], 0x43c80000
mov dword [eax + 0x1d84], 0x44160000
mov dword [eax + 0x1d68], 1
call fcn.101356a0
add esp, 4
test al, al
je 0x1017dd3e
mov ecx, dword [0x1034e164]
mov edx, str.This_update_introduces_the_following_changes:
push ecx
mov dword [esp], 0xbf800000
push 0
mov eax, dword [ecx + 0x1cdc]
push 0
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1cdc]
lea ecx, [esp + 0x104]
mov dword [esp + 0x1c], eax
movss xmm0, dword [eax + 0xc]
movss dword [esp + 0xdc], xmm0
addss xmm0, dword [eax + 0x14]
movss dword [esp + 0xd8], xmm0
movss xmm0, dword [eax + 0x10]
movss dword [esp + 0xb4], xmm0
call fcn.10149ba0
mov eax, dword fs:[0x2c]
add esp, 0xc
mov ecx, dword [0x1034bc9c]
movups xmm0, xmmword [esi + 0x15dc]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1035915c]
movups xmmword [esp + 0x90], xmm0
cmp eax, dword [ecx + 4]
jg 0x1017ddc5
mov eax, dword [0x1034e164]
push 0
push edi
mov ecx, dword [eax + 0x1cdc]
call fcn.10145040
mov dword [esp + 0x84], eax
mov ecx, 0x10359160
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x80]
push eax
call fcn.10046520
lea eax, ds:[esp + 0x88]
mov ecx, 0x10359160
push eax
call fcn.10046570
mov ecx, dword [esp + 0x7c]
cmp ecx, dword [eax]
jne 0x1017d2a9
lea eax, [esp + 0x90]
mov ecx, 0x10359160
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.10046d80
lea eax, ds:[esp + 0x84]
mov ecx, 0x10359160
push eax
call fcn.1004cd80
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xe4]
sub esp, 8
movss xmm1, dword [esp + 0x9c]
addss xmm1, dword [esp + 0x98]
mov eax, dword [eax + 8]
and eax, 0x4000000
or eax, 0x8000000
addss xmm1, dword [esp + 0xa0]
shr eax, 0x1a
add eax, eax
divss xmm1, dword [0x102fb07c]
movss xmm0, dword [esi + eax*8 + 0x15e0]
addss xmm0, dword [esi + eax*8 + 0x15dc]
addss xmm0, dword [esi + eax*8 + 0x15e4]
divss xmm0, dword [0x102fb07c]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100d5947
movss xmm0, dword [0x102faf90]
add esp, 8
fstp dword [esp + 0x88]
comiss xmm0, dword [esp + 0x88]
jbe 0x1017d37e
movss xmm0, dword [0x102fb004]
movaps xmm4, xmm0
movaps xmm3, xmm0
subss xmm4, dword [esp + 0x90]
subss xmm3, dword [esp + 0x94]
subss xmm0, dword [esp + 0x98]
movss dword [esp + 0x90], xmm4
movss dword [esp + 0x94], xmm3
movss dword [esp + 0x98], xmm0
jmp 0x1017d390
movss xmm3, dword [esp + 0x94]
movss xmm4, dword [esp + 0x90]
mov ecx, dword [esp + 0x7c]
mov eax, dword [0x1034e164]
add ecx, 0x14
movss xmm2, dword [0x102fb0b8]
movss xmm5, dword [ecx]
comiss xmm4, xmm5
movss xmm1, dword [eax + 0x18]
jbe 0x1017d3c7
movaps xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm5
minss xmm0, xmm4
movss dword [ecx], xmm0
jmp 0x1017d3df
comiss xmm5, xmm4
jbe 0x1017d3e8
movaps xmm0, xmm1
mulss xmm0, xmm2
subss xmm5, xmm0
maxss xmm5, xmm4
movss dword [ecx], xmm5
movss xmm3, dword [esp + 0x94]
movss xmm4, dword [ecx + 4]
comiss xmm3, xmm4
jbe 0x1017d408
movaps xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm4
minss xmm0, xmm3
movss dword [ecx + 4], xmm0
jmp 0x1017d421
comiss xmm4, xmm3
jbe 0x1017d421
movaps xmm0, xmm1
mulss xmm0, xmm2
subss xmm4, xmm0
maxss xmm4, xmm3
movss dword [ecx + 4], xmm4
movss xmm3, dword [ecx + 8]
movss xmm4, dword [esp + 0x98]
comiss xmm4, xmm3
jbe 0x1017d44a
movaps xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm3
minss xmm0, xmm4
movss dword [ecx + 8], xmm0
jmp 0x1017d46c
movss xmm4, dword [esp + 0x98]
comiss xmm3, xmm4
jbe 0x1017d46c
movaps xmm0, xmm1
mulss xmm0, xmm2
subss xmm3, xmm0
maxss xmm3, xmm4
movss dword [ecx + 8], xmm3
movss xmm0, dword [ecx + 0xc]
movss xmm3, dword [esp + 0x9c]
comiss xmm3, xmm0
jbe 0x1017d492
mulss xmm1, xmm2
addss xmm1, xmm0
minss xmm1, xmm3
movss dword [ecx + 0xc], xmm1
jmp 0x1017d4a8
comiss xmm0, xmm3
jbe 0x1017d4a8
mulss xmm1, xmm2
subss xmm0, xmm1
maxss xmm0, xmm3
movss dword [ecx + 0xc], xmm0
call fcn.101422a0
mov edx, eax
xor ecx, ecx
call fcn.10145560
movss xmm1, dword ds:[esp + 0xd0]
xor edx, edx
addss xmm1, dword [esp + 0xcc]
movss xmm0, dword [esp + 0xf8]
mov ecx, str.This_update_introduces_the_following_changes:
divss xmm0, dword [0x102fb050]
divss xmm1, dword [0x102fb050]
subss xmm1, xmm0
movss xmm0, dword [esp + 0xa8]
addss xmm0, dword [0x102fb0c8]
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0xac], xmm0
push dword [esp + 0xac]
push dword [esp + 0xac]
push 1
call fcn.101408a0
add esp, 0xc
mov ecx, 1
call fcn.10145c00
push ecx
mov dword [esp], 0xbf800000
lea ecx, [esp + 0x8c]
push 0
push 0
mov edx, str.This_update_introduces_the_following_changes:
call fcn.10149ba0
add esp, 0xc
lea ecx, [esp + 0xa8]
movss xmm0, dword [eax + 4]
addss xmm0, dword [0x102fb0ec]
mov dword [esp + 0xa8], 0x41200000
movss dword [esp + 0xac], xmm0
call fcn.101456e0
mov eax, dword [0x1034e164]
lea ecx, [esp + 0x20]
movups xmm0, xmmword [eax + 0x182c]
movaps xmmword [esp + 0x20], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [eax + 0x1518]
movss dword [esp + 0x2c], xmm0
call fcn.101422a0
mov edx, eax
mov ecx, 2
call fcn.10145560
mov eax, dword [esp + 0x10]
mov ecx, dword [0x1034e164]
push 0
push 0
movss xmm0, dword [eax + 0x18]
subss xmm0, dword [esp + 0x104]
movss xmm1, dword [eax + 0x14]
subss xmm1, dword [0x102fb110]
mov eax, dword [ecx + 0x1cdc]
subss xmm0, dword [0x102fb178]
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x1c], xmm0
mov byte [eax + 0x8c], 1
lea eax, [esp + 0x18]
mov ecx, dword [ecx + 0x1cdc]
push eax
push 0
push str.changelogcontent
call fcn.10145040
mov edx, eax
mov ecx, str.changelogcontent
call fcn.1013b600
add esp, 0xc
test al, al
je 0x1017dcea
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0x41200000
mov dword [esp + 0x14], 0x41200000
call fcn.101456e0
call fcn.10145760
mov byte [esp + 0x10], 0x61
mov al, 0x26
xor al, byte [esp + 0x10]
mov cl, 0x24
mov byte [esp + 0x11], al
mov ah, cl
mov al, byte [esp + 0x10]
mov dl, 0x2f
xor cl, al
mov byte [esp + 0xf], 0x2d
xor dl, al
mov byte [esp + 0x18], 0
xor ah, al
mov byte [esp + 0x12], cl
mov ch, 0x33
mov byte [esp + 0x14], ah
xor ch, al
mov byte [esp + 0x13], dl
mov dh, 0x20
mov byte [esp + 0x15], ch
xor dh, al
mov byte [esp + 0x18], 0
mov al, byte [esp + 0xf]
xor al, byte [esp + 0x10]
mov byte [esp + 0x17], al
lea eax, [esp + 0x11]
push eax
mov byte [esp + 0x1a], dh
call fcn.101803e0
movaps xmm0, xmmword [0x102fb700]
add esp, 4
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0x6c6a7773
xor ecx, ecx
mov word [esp + 0x34], 0x6d
nop
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x14
jb 0x1017d6d0
lea eax, [esp + 0x21]
mov byte [esp + 0x35], 0
push eax
call fcn.101803e0
add esp, 4
call fcn.10181360
mov byte ds:[esp + 0x10], 0x3d
mov al, 0x7c
xor al, byte [esp + 0x10]
mov cl, 0x79
mov byte [esp + 0x11], al
mov ah, 0x78
mov al, byte [esp + 0x10]
mov dl, cl
mov ch, cl
mov byte [esp + 0x17], 0
xor ah, al
mov byte [esp + 0x17], 0
mov dh, 7
mov byte [esp + 0x14], ah
xor cl, al
xor dl, al
xor ch, al
mov byte [esp + 0x12], cl
xor dh, al
mov byte [esp + 0x13], dl
lea eax, [esp + 0x11]
mov byte [esp + 0x15], ch
push eax
mov byte [esp + 0x1a], dh
call fcn.101803e0
movaps xmm0, xmmword [0x102fb450]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov word [esp + 0x40], 1
movaps xmm0, xmmword [str._v_nD_v_n]
movups xmmword [esp + 0x30], xmm0
nop dword [eax]
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x20
jb 0x1017d770
lea eax, [esp + 0x21]
mov byte [esp + 0x41], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [0x102fb5d0]
add esp, 4
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0x690a5e45
xor ecx, ecx
mov dword [esp + 0x34], 0x434e4445
mov dword [esp + 0x38], 0x4445435e
mov word [esp + 0x3c], 0x59
nop dword [eax]
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x1c
jb 0x1017d7c0
lea eax, [esp + 0x21]
mov byte [esp + 0x3d], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [0x102fb750]
add esp, 4
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0x7671386a
xor ecx, ecx
mov dword [esp + 0x34], 0x484b5d38
mov byte [esp + 0x38], 0
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x17
jb 0x1017d803
lea eax, ds:[esp + 0x21]
mov byte [esp + 0x38], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [0x102fb610]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov dword [esp + 0x50], 0x6b715438
movaps xmm0, xmmword [0x102fb510]
movups xmmword [esp + 0x30], xmm0
mov word [esp + 0x54], 0x6c
movaps xmm0, xmmword [0x102fb710]
movups xmmword [esp + 0x40], xmm0
nop dword [eax]
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x34
jb 0x1017d860
lea eax, [esp + 0x21]
mov byte [esp + 0x55], 0
push eax
call fcn.101803e0
mov byte [esp + 0x14], 0x12
mov al, 0x51
xor al, byte [esp + 0x14]
mov cl, 0x5a
xor cl, byte [esp + 0x14]
mov ah, 0x5c
mov byte [esp + 0x15], al
add esp, 4
mov byte [esp + 0x12], cl
mov dl, 0x53
mov cl, byte [esp + 0x10]
mov ch, 0x55
mov byte [esp + 0xf], 0x56
xor ah, cl
mov al, byte [esp + 0xf]
mov dh, 0x57
xor al, cl
mov byte [esp + 0x1f], 0x28
mov byte [esp + 0x17], al
xor dl, cl
mov al, byte [esp + 0x1f]
xor ch, cl
xor al, cl
mov byte [esp + 0x14], ah
mov byte [esp + 0x18], al
xor dh, cl
lea eax, [esp + 0x11]
mov byte [esp + 0x19], 0
push eax
mov byte [esp + 0x17], dl
mov byte [esp + 0x19], ch
mov byte [esp + 0x1a], dh
mov byte [esp + 0x1d], 0
call fcn.101803e0
movaps xmm0, xmmword [0x102fb690]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov dword [esp + 0x50], 0x5f521055
movaps xmm0, xmmword [0x102fb680]
movups xmmword [esp + 0x30], xmm0
mov word [esp + 0x54], 0x4954
movaps xmm0, xmmword [0x102fb6b0]
movups xmmword [esp + 0x40], xmm0
mov byte [esp + 0x56], 0
nop dword [eax]
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x35
jb 0x1017d930
lea eax, [esp + 0x21]
mov byte [esp + 0x56], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [0x102fb600]
add esp, 4
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0x5443504a
xor ecx, ecx
mov dword [esp + 0x34], 0x41494a06
mov word [esp + 0x38], 0x454f
mov byte [esp + 0x3a], 0
nop word [eax + eax]
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x19
jb 0x1017d980
lea eax, [esp + 0x21]
mov byte [esp + 0x3a], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [0x102fb3b0]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov dword [esp + 0x40], 0x50005941
movaps xmm0, xmmword [0x102fb620]
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0x44], 0x45504f52
mov dword [esp + 0x48], 0x594c52
mov al, byte ds:[esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x2a
jb 0x1017d9d2
lea eax, [esp + 0x21]
mov byte [esp + 0x4b], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [0x102fb5e0]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov byte [esp + 0x50], 0
movaps xmm0, xmmword [0x102fb5f0]
movups xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [0x102fb5a0]
movups xmmword [esp + 0x40], xmm0
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x2f
jb 0x1017da22
lea eax, [esp + 0x21]
mov byte [esp + 0x50], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [str.Ncn_b_____n9__Heh_v_8_____1h__crs7y7c]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov dword [esp + 0x40], 0x2d273a6e
movaps xmm0, xmmword [0x102fb760]
movups xmmword [esp + 0x30], xmm0
mov word [esp + 0x44], 0x3d25
mov byte [esp + 0x46], 0
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x25
jb 0x1017da70
lea eax, [esp + 0x21]
mov byte [esp + 0x46], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [0x102fb6f0]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov dword [esp + 0x50], 0x64797874
movaps xmm0, xmmword [0x102fb730]
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0x54], 0x727b78
movaps xmm0, xmmword [0x102fb4f0]
movups xmmword [esp + 0x40], xmm0
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x36
jb 0x1017dac6
lea eax, ds:[esp + 0x21]
mov byte [esp + 0x57], 0
push eax
call fcn.101803e0
mov byte [esp + 0x14], 0x5e
mov al, 0x18
xor al, byte [esp + 0x14]
mov ah, 0x1b
mov byte [esp + 0x15], al
mov cl, 0x17
mov al, byte [esp + 0x14]
mov dl, 6
xor ah, al
mov byte [esp + 0x1b], 0
mov ch, 0x1a
mov byte [esp + 0x18], ah
mov dh, 0x64
mov byte [esp + 0x1b], 0
add esp, 4
xor cl, al
xor dl, al
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x15], ch
lea eax, [esp + 0x11]
mov byte [esp + 0x16], dh
push eax
call fcn.101803e0
movaps xmm0, xmmword [str._M__t]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov dword [esp + 0x40], 0x150e050d
movaps xmm0, xmmword [0x102fb590]
movups xmmword [esp + 0x30], xmm0
mov byte [esp + 0x44], 0
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x23
jb 0x1017db61
lea eax, [esp + 0x21]
mov byte [esp + 0x44], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [0x102fb6a0]
add esp, 4
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0x31a1700
xor ecx, ecx
mov word [esp + 0x34], 0x513
mov byte [esp + 0x36], 0
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x15
jb 0x1017dba3
lea eax, ds:[esp + 0x21]
mov byte [esp + 0x36], 0
push eax
call fcn.101803e0
movaps xmm0, xmmword [0x102fb4c0]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov dword [esp + 0x60], 0xc0d1e09
movaps xmm0, xmmword [0x102fb3c0]
movups xmmword [esp + 0x30], xmm0
mov byte [esp + 0x64], 0
movaps xmm0, xmmword [0x102fb410]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x102fb4b0]
movups xmmword [esp + 0x50], xmm0
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x43
jb 0x1017dc07
lea eax, ds:[esp + 0x21]
mov byte [esp + 0x64], 0
push eax
call fcn.101803e0
mov cl, 0x76
mov byte [esp + 0x14], 0x33
mov dh, cl
mov byte [esp + 0x23], 0x77
xor cl, byte [esp + 0x14]
mov al, 0x61
xor al, byte [esp + 0x14]
mov ah, 0x7c
mov byte [esp + 0x15], al
add esp, 4
mov al, byte [esp + 0x1f]
mov dl, 0x7e
mov byte [esp + 0x12], cl
mov ch, 0x65
mov cl, byte [esp + 0x10]
xor al, cl
mov byte [esp + 0xf], 9
mov byte [esp + 0x17], al
xor ah, cl
mov al, byte [esp + 0xf]
xor dl, cl
xor al, cl
mov byte [esp + 0x14], ah
mov byte [esp + 0x18], al
xor ch, cl
lea eax, [esp + 0x11]
mov byte [esp + 0x19], 0
xor dh, cl
mov byte [esp + 0x13], dl
push eax
mov byte [esp + 0x19], ch
mov byte [esp + 0x1a], dh
mov byte [esp + 0x1d], 0
call fcn.101803e0
movaps xmm0, xmmword [0x102fb4e0]
add esp, 4
movups xmmword [esp + 0x20], xmm0
xor ecx, ecx
mov byte [esp + 0x40], 0
movaps xmm0, xmmword [0x102fb500]
movups xmmword [esp + 0x30], xmm0
nop dword [eax]
mov al, byte [esp + 0x20]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 0x1f
jb 0x1017dcc0
lea eax, [esp + 0x21]
mov byte [esp + 0x40], 0
push eax
call fcn.101803e0
add esp, 4
call fcn.101458a0
call fcn.10145aa0
mov ecx, 1
call fcn.10145c00
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0x431b0000
mov dword [esp + 0x14], 0x440c0000
call fcn.101456e0
push 0
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x42b40000
mov ecx, str.Close
mov dword [esp + 0x18], 0x41f00000
call fcn.101783c0
add esp, 4
test al, al
je 0x1017dd39
call fcn.10135940
call fcn.10135640
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x10359138
call fcn.100996f3
add esp, 4
cmp dword [0x10359138], 0xffffffff
jne 0x1017cc2e
movaps xmm0, xmmword [esp + 0x20]
push 0x10359138
movaps xmmword [0x10359140], xmm0
call fcn.100996a2
add esp, 4
jmp 0x1017cc2e
push 0x10359150
call fcn.100996f3
add esp, 4
cmp dword [0x10359150], 0xffffffff
jne 0x1017cdf9
mov ecx, 0x10359154
nop dword [eax + eax]
call fcn.100464e0
push 0x101aaf40
call fcn.10099662
add esp, 4
push 0x10359150
call fcn.100996a2
add esp, 4
jmp 0x1017cdf9
push 0x1035915c
call fcn.100996f3
add esp, 4
cmp dword [0x1035915c], 0xffffffff
jne 0x1017d21e
mov ecx, 0x10359160
call fcn.100464e0
push 0x101aaee0
call fcn.10099662
add esp, 4
push 0x1035915c
call fcn.100996a2
add esp, 4
jmp 0x1017d21e