Function at 0x10114f20
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1014c13c
mov eax, dword fs:[0]
push eax
sub esp, 0x268
mov eax, dword [0x10174110]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x208], eax
lea edi, [ebx + 8]
mov dword [ebp - 0x20], eax
mov ecx, edi
mov eax, dword [edi]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101a67f4]
mov esi, eax
mov edx, dword [0x101a698c]
mov eax, dword [0x101a14e8]
add edx, 0xffffffd5
xor edx, 0x704949c5
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x10160410]
mov ecx, dword [edx + ebx]
movss dword [ebp - 0x18], xmm0
cmp ecx, dword [edx + eax]
je 0x10114fad
mov byte [ebp - 0x1e5], 1
jmp 0x10114fc3
mov ecx, dword [0x101a686c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x1e5]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x10181340], 0
mov dh, al
mov dl, byte [ebp - 0x1e5]
je 0x10114fff
test dl, dl
je 0x10114fff
test dh, dh
jne 0x1011500c
mov eax, dword [0x101a6a0c]
add eax, 0xffffffb5
xor eax, 0x704949e5
mov byte [eax + ebx], 1
mov byte [esi + 0x101a944f], 1
jmp 0x1011501a
test dh, dh
jne 0x1011500c
mov byte [esi + 0x101a944f], 1
jmp 0x1011501a
mov al, byte [esi + 0x101a944f]
test al, al
je 0x101165b0
test dh, dh
je 0x1011502e
movss xmm1, dword [esi*4 + 0x101a948c]
subss xmm1, dword [ebp - 0x18]
jmp 0x1011503c
movss xmm1, dword [ebp - 0x18]
addss xmm1, dword [esi*4 + 0x101a948c]
movss dword [esi*4 + 0x101a948c], xmm1
test dl, dl
je 0x10115056
cmp byte [0x1017f180], 0
je 0x10115056
mov al, 1
jmp 0x10115058
xor al, al
movss xmm2, dword [0x101603a0]
xorps xmm0, xmm0
comiss xmm1, xmm2
mov byte [ebp - 0x1f3], al
jbe 0x10115073
movaps xmm1, xmm2
jmp 0x1011507b
comiss xmm1, xmm0
ja 0x1011507b
xorps xmm1, xmm1
ucomiss xmm1, xmm0
movss dword [esi*4 + 0x101a948c], xmm1
lahf
test ah, 0x44
jp 0x10115095
test al, al
je 0x101165b0
mov ecx, dword [0x101a69e8]
mov eax, dword [0x101a67f4]
add ecx, 0xffffffbe
xor ecx, 0x704949dc
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + ebx]
test dh, dh
je 0x101150c4
comiss xmm2, dword [0x10160438]
ja 0x101165b0
movaps xmm0, xmm1
test dl, dl
mulss xmm1, dword [0x101604ec]
mulss xmm0, dword [0x101604fc]
cvttss2si eax, xmm1
cvttss2si ecx, xmm0
mov dword [ebp - 0x204], eax
mov eax, dword [0x1017f10c]
cmovne eax, dword [0x1017f07c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x210], ecx
test dh, dh
je 0x10115185
cmp byte [ebp - 0x1f3], 0
je 0x10115185
movss xmm0, dword [0x10160428]
mov ecx, 0x70
comiss xmm2, xmm0
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x204], 0x50
jbe 0x10115172
subss xmm2, xmm0
movss xmm0, dword [0x101604d0]
movaps xmm1, xmm2
mulss xmm2, dword [0x10160444]
mulss xmm1, dword [0x10160458]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x101604b4]
subss xmm0, xmm2
mov dword [ebp - 0x210], ecx
cvttss2si eax, xmm0
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x1f8], 0xff707070
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x15], cl
lea edx, [ebp - 0x1e4]
mov ecx, dword [0x101a6798]
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x101165b0
push dword [ebp - 0x210]
mov ecx, 0x101a9450
push ebx
call fcn.10113ee0
lea eax, [ebp - 0x34]
mov ecx, 0x101a9450
push eax
push ebx
call fcn.10116b20
test al, al
je 0x101165b0
cmp byte [ebp - 0x1e5], 0
lea eax, [ebp - 0x1ec]
mov ecx, 0x1017f9f4
push eax
je 0x10115230
mov dword [ebp - 0x1c], 0
call fcn.10042760
mov ecx, 0x1017f9f4
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1f0]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1fc]
mov ecx, 0x1017f9f4
push eax
call fcn.10042760
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x10115280
jmp 0x10115291
mov dword [ebp - 0x1c], 1
call fcn.10042760
mov ecx, 0x1017f9f4
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1f0]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1fc]
mov ecx, 0x1017f9f4
push eax
call fcn.10042760
mov edx, dword [esi]
cmp edx, dword [eax]
je 0x10115377
push dword [ebp - 0x210]
mov ecx, 0x101a9450
push ebx
call fcn.10116c60
cmp byte [ebp - 0x1e5], 0
je 0x10115377
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x1c], 0
push eax
mov ecx, 0x1017efe4
call fcn.10042760
mov ecx, 0x1017efe4
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1f0]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1fc]
mov ecx, 0x1017efe4
push eax
call fcn.10042760
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x101153d3
mov bl, byte [ebp - 0x204]
mov byte [ebp - 0x1e6], bl
cmp byte [ebp - 0x1e5], 0
lea eax, [ebp - 0x1ec]
mov byte [ebp - 0x1f3], bl
mov ecx, 0x1017f34c
push eax
je 0x1011547a
mov dword [ebp - 0x18], 0
call fcn.10042760
mov ecx, 0x1017f34c
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x1c]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1f0]
mov ecx, 0x1017f34c
push eax
call fcn.10042760
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x101154c7
jmp 0x10115579
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x1c], 1
push eax
mov ecx, 0x1017efe4
call fcn.10042760
mov ecx, 0x1017efe4
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1f0]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1fc]
mov ecx, 0x1017efe4
push eax
call fcn.10042760
mov ecx, dword [esi]
cmp ecx, dword [eax]
je 0x101152fa
mov al, byte [ebp - 0x204]
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov byte [ebp - 0x1e6], al
mov byte [ebp - 0x1f5], al
mov eax, dword [ebp - 0x28]
push eax
mov dword [ebp - 0x1f0], ecx
push ecx
mov ecx, ebx
mov word [ebp - 0x1f8], 0xa0a
mov byte [ebp - 0x1f6], 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1fc], edx
call fcn.10105ea0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebx - 1]
mov esi, dword [ebp - 0x1f8]
add esp, 0xc
mov edx, dword [ebp - 0x1fc]
add eax, 2
dec edx
push esi
push eax
mov eax, dword [ebp - 0x1f0]
add eax, 2
push eax
call fcn.10105ea0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebx + 1]
mov edx, dword [ebp - 0x1fc]
add esp, 0xc
add eax, 0xfffffffe
push esi
push eax
mov eax, dword [ebp - 0x1f0]
lea edx, [edx + 1]
add eax, 0xfffffffe
push eax
call fcn.10105ea0
mov bl, byte [ebp - 0x1e6]
add esp, 0xc
jmp 0x10115306
mov dword [ebp - 0x18], 1
call fcn.10042760
mov ecx, 0x1017f34c
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x1c]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1f0]
mov ecx, 0x1017f34c
push eax
call fcn.10042760
mov ecx, dword [esi]
cmp ecx, dword [eax]
je 0x10115641
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x234]
call fcn.10035520
lea ecx, [ebp - 0x20b]
mov dword [ebp - 4], 0
push ecx
push 0x18
push 0
push eax
lea ecx, [ebp - 0x5c]
call fcn.1005a490
mov eax, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x208], eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
call fcn.100354d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x74]
mov eax, dword [0x1017f3e4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
cdq
sub eax, edx
mov byte [ebp - 0x15], bl
mov ebx, dword [ebp - 0x30]
lea edx, [ebp - 0x5c]
sub ebx, dword [0x101a90b0]
mov esi, eax
sar esi, 1
add esi, dword [ebp - 0x34]
call fcn.10104e50
push 2
push eax
mov byte [ebp - 4], 4
mov ecx, 0x101a90a8
push dword [ebp - 0x18]
push ebx
push esi
call fcn.10106660
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 5
call fcn.1005fcb0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 6
call fcn.100354d0
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x1e5], 0
je 0x10115641
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x18], 0
push eax
mov ecx, 0x1017f484
call fcn.10042760
mov ecx, 0x1017f484
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x1c]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1f0]
mov ecx, 0x1017f484
push eax
call fcn.10042760
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x1011569a
mov ebx, dword [ebp - 0x20]
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
movq qword [ebp - 0x44], xmm0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
cmp byte [ebp - 0x1e5], 0
mov dword [ebp - 4], 0xb
movq qword [ebp - 0x68], xmm0
mov dword [ebp - 0x60], 0
je 0x10115846
push 0x1017f52c
lea ecx, [ebp - 0x50]
call fcn.100351c0
or ebx, 0x40
lea eax, [ebp - 0x50]
or ebx, 1
jmp 0x1011585c
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x18], 1
push eax
mov ecx, 0x1017f484
call fcn.10042760
mov ecx, 0x1017f484
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x1c]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1f0]
mov ecx, 0x1017f484
push eax
call fcn.10042760
mov ecx, dword [esi]
cmp ecx, dword [eax]
je 0x101155df
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
add esi, 0xfffffffe
mov eax, dword [0x101a69c0]
add eax, 0xffffffc8
mov dword [ebp - 0x18], esi
xor eax, 0x704949d2
mov eax, dword [eax + ecx]
mov ecx, 0x64
cmp eax, ecx
mov ebx, ecx
cmovl ebx, eax
mov eax, 0x51eb851f
sub ecx, ebx
mov dword [ebp - 0x1f0], ebx
imul ecx, ecx, 0x1fe
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
cmovg eax, ecx
imul ecx, ebx, 0x1fe
mov dword [ebp - 0x214], eax
mov eax, 0x51eb851f
imul ecx
mov eax, 0xff
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
cmp ebx, 0xff
push ecx
cmovg ebx, eax
mov eax, dword [ebp - 0x1f0]
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101602dc]
movss dword [esp], xmm0
call fcn.10123416
mov cl, byte [ebp - 0x1f3]
mov eax, esp
mov edx, dword [ebp - 0x1c]
fstp dword [ebp - 0x1fc]
cvttss2si esi, dword [ebp - 0x1fc]
mov byte [eax + 3], cl
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
add eax, 2
push eax
push 4
lea ecx, [ecx - 6]
call fcn.10105ee0
mov ecx, dword [ebp - 0x214]
add esp, 8
mov edx, dword [ebp - 0x1c]
mov eax, esp
inc edx
push esi
mov byte [eax], cl
mov ecx, dword [ebp - 0x210]
mov byte [eax + 3], cl
mov byte [eax + 1], bl
mov byte [eax + 2], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
sub eax, esi
add edx, eax
push 2
mov dword [ebp - 0x18], edx
lea ecx, [ecx - 5]
call fcn.10105ea0
mov eax, dword [ebp - 0x1f0]
add esp, 0xc
cmp eax, 0x64
jge 0x101155df
mov edx, eax
lea ecx, [ebp - 0x5c]
call fcn.1004f000
mov ebx, dword [ebp - 0x20]
or ebx, 0x10
mov dword [ebp - 0x208], ebx
mov dword [ebp - 4], 7
lea edx, [ebp - 0x5c]
mov al, byte [ebp - 0x1f3]
lea ecx, [ebp - 0x234]
mov esi, dword [ebp - 0x34]
mov word [ebp - 0x20], 0xffff
add esi, 0xfffffffb
mov byte [ebp - 0x1e], 0xff
mov byte [ebp - 0x1d], al
call fcn.10104e50
push 2
push eax
mov byte [ebp - 4], 8
mov ecx, 0x101a9090
push dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffb
push eax
push esi
call fcn.10106660
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 9
call fcn.1005fcb0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xa
call fcn.100354d0
jmp 0x101155e2
push 0x1017f5d4
lea ecx, [ebp - 0x80]
call fcn.100351c0
lea eax, [ebp - 0x80]
or ebx, 0x82
push eax
lea ecx, [ebp - 0x68]
call fcn.100e9a70
mov dword [ebp - 4], 0xd
test bl, 2
je 0x10115886
and ebx, 0xfffffffd
mov dword [ebp - 0x208], ebx
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xe
call fcn.10034d20
mov byte [ebp - 4], 0xf
test bl, 1
je 0x1011589f
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x10
call fcn.10034d20
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
lea ecx, [ebp - 0x68]
call fcn.10042770
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x68]
call fcn.10042760
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [eax]
je 0x10115ec0
mov al, byte [ebp - 0x204]
mov ebx, dword [ebp - 0x38]
mov byte [ebp - 0x1e6], al
nop dword [eax + eax]
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0
jne 0x10115987
mov eax, dword [0x101a69c4]
lea edx, [ebp - 0x240]
add eax, 0xffffffc7
mov dword [ebp - 0x240], 0x692524
xor eax, 0x704949d3
lea ecx, [ebp - 0x234]
add eax, ebx
push eax
call fcn.100ddaa0
add esp, 4
mov ecx, dword [ebp - 0x204]
mov byte [ebp - 4], 0x11
mov byte [ebp - 0x239], cl
lea ecx, [ebp - 0x25c]
push eax
mov word [ebp - 0x23c], 0xc896
mov byte [ebp - 0x23a], 0x3c
call fcn.10035580
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x44]
call fcn.100d9460
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x13
call fcn.100354d0
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x14
call fcn.100354d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x20]
cmp dword [eax], 1
jne 0x10115b7a
mov eax, dword [0x101a69f8]
mov ecx, dword [0x101a6a14]
add eax, 0xffffffba
xor eax, 0x704949e0
mov dl, byte [eax + ebx]
test dl, dl
je 0x10115ada
lea eax, [ecx - 0x4d]
xor eax, 0x704949e7
cmp dword [eax + ebx], 0
jle 0x10115a4e
lea eax, [ebp - 0x1f8]
mov word [ebp - 0x1f8], 0x4b48
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x1f6], 0
call fcn.10035520
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x15
mov byte [ebp - 0x235], al
lea eax, [ebp - 0x234]
push eax
mov word [ebp - 0x238], 0xffff
mov byte [ebp - 0x236], 0xff
call fcn.10035580
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x44]
call fcn.100d9460
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x17
call fcn.100354d0
mov byte [ebp - 4], 0x18
jmp 0x10115b6b
test dl, dl
je 0x10115ada
lea eax, [ebp - 0x20c]
mov word [ebp - 0x20c], 0x48
push eax
lea ecx, [ebp - 0x234]
call fcn.10035520
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x19
mov byte [ebp - 0x211], al
lea eax, [ebp - 0x234]
push eax
mov word [ebp - 0x214], 0xffff
mov byte [ebp - 0x212], 0xff
call fcn.10035580
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x44]
call fcn.100d9460
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x1b
call fcn.100354d0
mov byte [ebp - 4], 0x1c
jmp 0x10115b6b
lea eax, [ecx - 0x4d]
xor eax, 0x704949e7
cmp dword [eax + ebx], 0
jle 0x10115b7a
lea eax, [ebp - 0x1f4]
mov word [ebp - 0x1f4], 0x4b
push eax
lea ecx, [ebp - 0x234]
call fcn.10035520
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x1d
mov byte [ebp - 0x1f9], al
lea eax, [ebp - 0x234]
push eax
mov word [ebp - 0x1fc], 0xffff
mov byte [ebp - 0x1fa], 0xff
call fcn.10035580
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0x44]
call fcn.100d9460
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x1f
call fcn.100354d0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x234]
call fcn.100354d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x20]
cmp dword [eax], 2
jne 0x10115c33
mov eax, dword [0x101a6a04]
add eax, 0xffffffb7
xor eax, 0x704949e3
cmp byte [eax + ebx], 0
je 0x10115c33
lea eax, [ebp - 0x264]
mov dword [ebp - 0x264], 0x4d4f4f5a
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x260], 0
call fcn.10035520
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x21
mov byte [ebp - 0x1ed], al
lea eax, [ebp - 0x234]
push eax
mov word [ebp - 0x1f0], 0xb43c
mov byte [ebp - 0x1ee], 0xe1
call fcn.10035580
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0x44]
call fcn.100d9460
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x23
call fcn.100354d0
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x24
call fcn.100354d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x20]
xorps xmm1, xmm1
cmp dword [eax], 3
jne 0x10115ced
mov eax, dword [0x101a6a20]
add eax, 0xffffffb0
xor eax, 0x704949ea
movss xmm0, dword [eax + ebx]
comiss xmm0, xmm1
jbe 0x10115ced
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x21c], 0x53414c46
push eax
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x218], 0x444548
call fcn.10035520
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x25
mov byte [ebp - 0x19], al
lea eax, [ebp - 0x234]
push eax
mov word [ebp - 0x1c], 0xffff
mov byte [ebp - 0x1a], 0
call fcn.10035580
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x44]
call fcn.100d9460
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x27
call fcn.100354d0
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x28
call fcn.100354d0
mov byte [ebp - 4], 0xf
xorps xmm1, xmm1
mov eax, dword [ebp - 0x20]
cmp dword [eax], 4
jne 0x10115df3
mov eax, dword [0x101a693c]
mov ecx, dword [eax + ebx]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10115df3
mov esi, dword [ecx + 0x50]
mov ecx, dword [0x101a6958]
mov eax, dword [0x101a68fc]
mov dword [ebp - 0x200], eax
cmp dword [ecx + ebx], 0
jne 0x10115d42
mov eax, dword [0x101a68d8]
mov ecx, ebx
call eax
mov ecx, dword [0x101a6958]
mov eax, dword [ebp - 0x200]
mov ecx, dword [ecx + ebx]
mov edx, esi
call eax
cmp eax, 0x3c7
jne 0x10115df3
lea eax, [ebp - 0x274]
mov dword [ebp - 0x274], 0x4f4c4552
push eax
lea ecx, [ebp - 0x234]
mov word [ebp - 0x270], 0x4441
mov byte [ebp - 0x26e], 0
call fcn.10035520
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x29
mov byte [ebp - 0x205], al
lea eax, [ebp - 0x234]
push eax
mov word [ebp - 0x208], 0xb43c
mov byte [ebp - 0x206], 0xe1
call fcn.10035580
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x2a
push eax
lea ecx, [ebp - 0x44]
call fcn.100d9460
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x2b
call fcn.100354d0
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x2c
call fcn.100354d0
mov byte [ebp - 4], 0xf
test ebx, ebx
je 0x10115ea2
mov eax, dword [ebp - 0x20]
cmp dword [eax], 5
jne 0x10115ea2
mov eax, dword [0x101a6908]
mov ecx, ebx
call eax
test al, al
je 0x10115ea2
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x26c], 0x424d4f42
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x268], 0
call fcn.10035520
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x2d
mov byte [ebp - 0x15], al
lea eax, [ebp - 0x234]
push eax
mov word [ebp - 0x18], 0xff
mov byte [ebp - 0x16], 0
call fcn.10035580
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x44]
call fcn.100d9460
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x2f
call fcn.100354d0
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x30
call fcn.100354d0
mov byte [ebp - 4], 0xf
add dword [ebp - 0x20], 4
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x68]
call fcn.10042760
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [eax]
jne 0x101158e0
mov ecx, dword [ebp - 0x40]
mov eax, 0x92492493
mov esi, dword [ebp - 0x44]
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10115f7d
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x18], ebx
nop dword [eax + eax]
mov ecx, dword [0x101a9098]
lea edx, [esi + ebx]
mov eax, dword [ebp - 0x30]
dec ecx
mov ebx, dword [ebp - 0x2c]
mov esi, dword [edx + 0x18]
imul ecx, edi
add eax, ecx
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x34]
add eax, 2
add ebx, eax
call fcn.10104e50
push 0
push eax
push esi
mov byte [ebp - 4], 0x31
mov ecx, 0x101a9090
push dword [ebp - 0x1ec]
push ebx
call fcn.10106660
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x32
call fcn.1005fcb0
mov byte [ebp - 4], 0xf
mov eax, 0x92492493
mov ecx, dword [ebp - 0x40]
inc edi
mov esi, dword [ebp - 0x44]
sub ecx, esi
mov ebx, dword [ebp - 0x18]
imul ecx
add ebx, 0x1c
add edx, ecx
mov dword [ebp - 0x18], ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x10115ef0
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x33
call fcn.10034d20
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x34
call fcn.100d8ea0
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x208], ecx
cmp byte [0x1017f8b0], cl
je 0x101160e1
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x4a4
lea esi, [eax + 0x1018d4f0]
test esi, esi
je 0x101160e1
cmp dword [esi + 0x18], 0
je 0x101160e1
lea eax, [ebp - 0x50]
push eax
lea ecx, [esi + 8]
call fcn.100374c0
mov ecx, eax
mov dword [ebp - 4], 0x35
call fcn.10037e80
mov dword [ebp - 4], 0xffffffff
mov eax, dword [eax]
test eax, eax
je 0x101160e1
movss xmm1, dword [esi + 0x470]
xorps xmm0, xmm0
subss xmm1, dword [eax + 0x40c]
movss xmm2, dword [0x101603a0]
mov dword [ebp - 0x200], 0x3f800000
mov dword [ebp - 0x24], 0
comiss xmm1, xmm2
movss dword [ebp - 0x1ec], xmm1
ja 0x10116051
comiss xmm1, xmm0
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x1ec]
cmovae eax, ecx
movss xmm2, dword [eax]
movd xmm1, dword [ebp - 0x2c]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
mulss xmm1, dword [0x10160394]
comiss xmm1, xmm0
movss dword [ebp - 0x24], xmm1
jbe 0x101160e1
push ecx
mov cl, byte [ebp - 0x1e6]
mov eax, esp
push 4
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
add eax, 2
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
add edx, eax
call fcn.10105ee0
mov eax, dword [0x1017f954]
add esp, 0xc
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x210]
mov byte [ebp - 0x15], al
lea ecx, [ecx + 1]
cvttss2si eax, dword [ebp - 0x24]
push dword [ebp - 0x18]
push 2
push eax
mov eax, dword [ebp - 0x30]
add eax, 3
add edx, eax
call fcn.10105ea0
mov edi, 5
add esp, 0xc
mov dword [ebp - 0x208], edi
jmp 0x101160e3
xor edi, edi
cmp byte [ebp - 0x1e5], 0
lea eax, [ebp - 0x1ec]
mov ecx, 0x1017f67c
push eax
je 0x10116143
mov dword [ebp - 0x24], 0
call fcn.10042760
mov ecx, 0x1017f67c
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x18]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1c]
mov ecx, 0x1017f67c
push eax
call fcn.10042760
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x1011618d
jmp 0x101165b0
mov dword [ebp - 0x24], 1
call fcn.10042760
mov ecx, 0x1017f67c
mov esi, dword [eax]
lea eax, [ebp - 0x200]
push eax
call fcn.10042770
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x18]
push dword [eax]
call fcn.10042890
add esp, 8
mov esi, eax
lea eax, [ebp - 0x1c]
mov ecx, 0x1017f67c
push eax
call fcn.10042760
mov ecx, dword [esi]
cmp ecx, dword [eax]
je 0x101165b0
mov ecx, dword [0x101a679c]
mov eax, dword [0x101a6a58]
mov ebx, dword [ebp - 0x38]
add eax, 0xffffffa2
push ecx
mov edx, dword [ecx]
xor eax, 0x704949f8
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax + ebx]
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x1fc], esi
test esi, esi
je 0x101165b0
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x101165b0
mov ecx, dword [eax + 0x14]
xorps xmm1, xmm1
mov eax, dword [0x101a6a74]
add eax, 0xffffff9b
mov dword [ebp - 0x18], ecx
xor eax, 0x704949ff
mov ecx, dword [esi + eax]
mov eax, dword [0x101a693c]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + ebx]
mov dword [ebp - 0x200], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10116254
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x101a68fc]
mov dword [ebp - 0x1ec], ecx
mov ecx, dword [0x101a6958]
mov dword [ebp - 0x24], eax
cmp dword [ecx + ebx], 0
jne 0x1011623e
mov eax, dword [0x101a68d8]
mov ecx, ebx
call eax
mov ecx, dword [0x101a6958]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + ebx]
mov edx, eax
call dword [ebp - 0x1ec]
cmp eax, 0x3c7
jne 0x10116254
mov bh, 1
jmp 0x10116256
xor bh, bh
mov eax, dword [ebp - 0x18]
cmp eax, 0xffffffff
je 0x101163f9
cmp byte [0x1017f798], 0
je 0x101163f9
test bh, bh
je 0x10116280
mov eax, dword [ebp - 0x200]
movss xmm1, dword [eax + 0x64]
jmp 0x10116293
movd xmm1, dword [ebp - 0x1c]
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp], xmm0
call fcn.10123416
mov bl, byte [ebp - 0x1e6]
mov eax, esp
push 4
fstp dword [ebp - 0x1f0]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov byte [eax + 3], bl
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
add ecx, edi
push dword [ebp - 0x2c]
add edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x34]
call fcn.10105ee0
mov eax, dword [0x1017f83c]
add esp, 0xc
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
add ecx, edi
mov dword [ebp - 0x38], eax
add edx, 3
mov eax, dword [ebp - 0x210]
add edx, ecx
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 0x35], al
cvttss2si eax, dword [ebp - 0x1f0]
lea ecx, [ecx + 1]
push dword [ebp - 0x38]
push 2
push eax
call fcn.10105ea0
mov eax, 0x66666667
add esp, 4
imul dword [ebp - 0x18]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.10128981
mov ecx, dword [ebp - 0x1c]
add esp, 8
fstp qword [ebp - 0x21c]
cvttsd2si eax, qword [ebp - 0x21c]
cmp ecx, eax
jg 0x101163ee
test bh, bh
jne 0x101163ee
mov edx, ecx
lea ecx, [ebp - 0x234]
call fcn.1004f000
mov dword [ebp - 4], 0x36
lea edx, [ebp - 0x234]
cvttss2si esi, dword [ebp - 0x1f0]
add edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x5c]
add edi, dword [ebp - 0x28]
mov word [ebp - 0x18], 0xffff
mov byte [ebp - 0x16], 0xff
mov byte [ebp - 0x15], bl
add esi, dword [ebp - 0x34]
call fcn.10104e50
push 2
push eax
mov byte [ebp - 4], 0x37
mov ecx, 0x101a9090
push dword [ebp - 0x18]
push edi
push esi
call fcn.10106660
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x38
call fcn.1005fcb0
lea ecx, [ebp - 0x234]
mov dword [ebp - 4], 0x39
call fcn.100354d0
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x208]
mov esi, dword [ebp - 0x1fc]
add edi, 6
mov dword [ebp - 0x208], edi
jmp 0x101163ff
mov bl, byte [ebp - 0x1e6]
mov eax, dword [0x1017f724]
test eax, eax
jne 0x101164e6
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
call fcn.101112b0
mov dword [ebp - 4], 0x3a
lea eax, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x1ec]
push eax
call fcn.10053b30
cmp dword [ebp - 0x48], 0x10
lea ebx, [ebp - 0x5c]
cmovae ebx, dword [ebp - 0x5c]
xor esi, esi
mov eax, dword [eax]
xor ecx, ecx
mov edi, eax
sub edi, ebx
cmp ebx, eax
cmova edi, ecx
test edi, edi
je 0x10116478
nop dword [eax]
movsx eax, byte [esi + ebx]
push eax
call fcn.10123792
mov ecx, dword [ebp - 0x24]
add esp, 4
mov byte [esi + ecx], al
inc esi
cmp esi, edi
jne 0x10116460
mov eax, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x1e6]
mov edi, dword [ebp - 0x208]
add edi, dword [ebp - 0x30]
add edi, dword [ebp - 0x28]
cdq
sub eax, edx
mov byte [ebp - 0x15], cl
mov esi, eax
mov word [ebp - 0x18], 0xffff
sar esi, 1
lea edx, [ebp - 0x5c]
add esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x16], 0xff
call fcn.10104e50
push 2
push eax
mov byte [ebp - 4], 0x3b
mov ecx, 0x101a9090
push dword [ebp - 0x18]
push edi
push esi
call fcn.10106660
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x3c
call fcn.1005fcb0
mov dword [ebp - 4], 0x3d
lea ecx, [ebp - 0x5c]
jmp 0x101165ab
cmp eax, 1
jne 0x101165b0
mov eax, dword [0x101a6a70]
mov ecx, 0x101ab7f4
add eax, 0xffffff9c
sub edi, 5
xor eax, 0x704949fe
add eax, esi
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.101181e0
mov eax, dword [ebp - 0x21c]
lea edx, [ebp - 0x1f8]
add eax, 0xc
mov word [ebp - 0x1f8], 0x6325
push eax
lea ecx, [ebp - 0x8c]
mov byte [ebp - 0x1f6], 0
call fcn.10117e40
add esp, 4
mov dword [ebp - 4], 0x3e
lea ecx, [ebp - 0x258]
mov eax, dword [ebp - 0x2c]
add edi, dword [ebp - 0x30]
add edi, dword [ebp - 0x28]
cdq
sub eax, edx
mov word [ebp - 0x18], 0xffff
mov esi, eax
mov byte [ebp - 0x16], 0xff
sar esi, 1
lea edx, [ebp - 0x8c]
add esi, dword [ebp - 0x34]
mov byte [ebp - 0x15], bl
call fcn.10104e50
push 2
push eax
mov byte [ebp - 4], 0x3f
mov ecx, 0x101a90d8
push dword [ebp - 0x18]
push edi
push esi
call fcn.10106660
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0x40
call fcn.1005fcb0
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0x8c]
call fcn.100354d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10119ff7
mov esp, ebp
pop ebp
ret 4