Function at 0x10089169
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push 0xcc
mov eax, 0x100a5643
call fcn.1009e180
movaps xmm0, xmmword [0x100ff220]
xor ecx, ecx
push 0xf
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], 0
pop ebx
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, ebx
jb 0x1008918c
mov eax, 0xff
mov byte [ebp - 0x18], 0
push eax
push 0x14
push eax
push 0x14
lea ecx, [ebp - 0x68]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x50]
lea eax, [ebp - 0x27]
push eax
lea eax, [ebp - 0x50]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
pop ecx
pop ecx
mov eax, 0xff
lea ecx, [ebp - 0x68]
push eax
push eax
push 0x14
push 0x14
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x50]
lea eax, [ebp - 0x50]
push 0x100f8dac
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
pop ecx
pop ecx
call fcn.1005f271
push 0xc
mov cl, 0x50
mov dword [ebp - 0x4c], 0x59595950
mov dword [ebp - 0x48], 0x59595959
xor eax, eax
mov dword [ebp - 0x44], 0x253c3106
mov word [ebp - 0x40], 0x35
pop edx
xor byte [ebp + eax - 0x4b], cl
inc eax
cmp eax, edx
jae 0x10089233
mov cl, byte [ebp - 0x4c]
jmp 0x10089225
mov eax, 0xff
mov byte [ebp - 0x3f], 0
push eax
push 0x14
push 0x14
push eax
lea ecx, [ebp - 0x28]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x68]
lea eax, [ebp - 0x4b]
push eax
lea eax, [ebp - 0x68]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
pop ecx
pop ecx
call fcn.1005f271
mov cl, 0x11
mov dword [ebp - 0x4c], 0x18181811
mov dword [ebp - 0x48], 0x57181818
xor eax, eax
mov dword [ebp - 0x44], 0x6276707d
mov byte [ebp - 0x40], 0
xor byte [ebp + eax - 0x4b], cl
inc eax
cmp eax, 0xb
jae 0x1008929e
mov cl, byte [ebp - 0x4c]
jmp 0x1008928f
mov eax, 0xff
mov byte [ebp - 0x40], 0
push eax
push 0x14
push eax
push eax
lea ecx, [ebp - 0x28]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x68]
lea eax, [ebp - 0x4b]
push eax
lea eax, [ebp - 0x68]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
movss xmm0, dword [0x100feea8]
pop ecx
pop ecx
call fcn.1005e6fe
xor edx, edx
mov dword [ebp - 0x20], 0x5d303013
mov cl, 0x13
mov dword [ebp - 0x1c], 0x767e72
mov eax, edx
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 6
jae 0x100892fc
mov cl, byte [ebp - 0x20]
jmp 0x100892ed
and dword [ebp - 0x30], edx
lea eax, [ebp - 0x30]
and dword [ebp - 0x2c], edx
lea ecx, [ebp - 0x1f]
push edx
push edx
push edx
push eax
mov byte [ebp - 0x19], dl
mov esi, 0x1013b470
push pe_nt_image_headers32
mov edx, esi
call fcn.1007576d
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
xor edx, edx
mov dword [ebp - 0x20], 0x34414162
mov cl, 0x62
mov dword [ebp - 0x1c], 0x7170e03
mov byte [ebp - 0x18], dl
mov eax, edx
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x10089356
mov cl, byte [ebp - 0x20]
jmp 0x10089347
and dword [ebp - 0x2c], edx
lea ecx, [ebp - 0x1f]
and dword [ebp - 0x3c], edx
push 0x20000
push 0x100f8d40
push edx
push edx
push 0x1013b468
mov byte [ebp - 0x18], dl
push 4
pop edx
call fcn.100741ec
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
xor edx, edx
mov dword [ebp - 0x20], 0x22474764
mov cl, 0x64
mov dword [ebp - 0x1c], 0x17030508
mov byte [ebp - 0x18], dl
mov eax, edx
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 7
jae 0x100893b4
mov cl, byte [ebp - 0x20]
jmp 0x100893a5
push edx
push 0x100f8d3c
lea eax, [ebp - 0x3c]
mov byte [ebp - 0x18], dl
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x3c], 0x64
push eax
push 0x1013b560
xor edx, edx
mov dword [ebp - 0x2c], 1
lea ecx, [ebp - 0x1f]
call fcn.100741ec
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
xor edx, edx
mov dword [ebp - 0x30], 0x42c80000
mov dword [ebp - 0x2c], 0x41b00000
mov cl, 0x54
mov dword [ebp - 0x1c], 0x24241554
mov eax, edx
mov word [ebp - 0x18], 0x2d38
mov byte [ebp - 0x16], dl
xor byte [ebp + eax - 0x1b], cl
inc eax
cmp eax, 5
jae 0x10089428
mov cl, byte [ebp - 0x1c]
jmp 0x10089419
mov byte [ebp - 0x16], dl
lea ecx, [ebp - 0x1b]
push edx
lea edx, [ebp - 0x30]
call fcn.10070a89
pop ecx
test al, al
je 0x1008945a
cmp byte [0x1013b470], 0
je 0x1008945a
mov edx, dword [0x1013b560]
mov ecx, esi
movss xmm1, dword [0x1013b468]
call fcn.100884bd
call fcn.1005e740
call fcn.1007237d
call fcn.1007237d
movss xmm0, dword [0x100feeac]
call fcn.1005e6fe
movaps xmm0, xmmword [0x100ffd30]
xor ecx, ecx
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0x5642
mov byte [ebp - 0x16], 0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x11
jb 0x1008948d
mov eax, 0xff
mov byte [ebp - 0x16], 0
push eax
push 0x32
push 0x32
push 0x14
lea ecx, [ebp - 0x68]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x50]
lea eax, [ebp - 0x27]
push eax
lea eax, [ebp - 0x50]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
pop ecx
pop ecx
xor ecx, ecx
inc ecx
call fcn.1005ef81
mov eax, 0xff
lea ecx, [ebp - 0x68]
push eax
push 0x14
push eax
push 0x14
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x50]
lea eax, [ebp - 0x50]
push 0x100f8dac
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
pop ecx
pop ecx
call fcn.1005f271
mov cl, 0x7a
mov dword [ebp - 0x4c], 0x7373737a
mov dword [ebp - 0x48], 0x73737373
xor eax, eax
mov dword [ebp - 0x44], 0x1d1b163c
mov word [ebp - 0x40], 9
xor byte [ebp + eax - 0x4b], cl
inc eax
cmp eax, 0xc
jae 0x1008953c
mov cl, byte [ebp - 0x4c]
jmp 0x1008952d
mov eax, 0xff
mov byte [ebp - 0x3f], 0
push eax
push eax
push 0x14
push eax
lea ecx, [ebp - 0x28]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x68]
lea eax, [ebp - 0x4b]
push eax
lea eax, [ebp - 0x68]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
mov eax, dword [0x10113a04]
movaps xmm0, xmmword [0x100ff030]
pop ecx
pop ecx
mov eax, dword [eax + 0x199c]
movups xmmword [ebp - 0x50], xmm0
dec dword [eax + 0x1bc]
xor edx, edx
mov ecx, edx
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xe
jb 0x1008958a
and dword [ebp - 0x20], edx
lea eax, [ebp - 0x20]
and dword [ebp - 0x1c], edx
lea ecx, [ebp - 0x4f]
push edx
push edx
push edx
push eax
mov byte [ebp - 0x41], dl
mov esi, 0x1013b520
push pe_nt_image_headers32
mov edx, esi
call fcn.1007576d
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
movaps xmm0, xmmword [0x100ff180]
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xe
jb 0x100895d8
push 0
push 0x100f8d3c
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x41], 0
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x2c], 0x64
push eax
push 0x1013b518
xor edx, edx
mov dword [ebp - 0x3c], 1
lea ecx, [ebp - 0x4f]
call fcn.100741ec
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
xor edx, edx
mov dword [ebp - 0x20], 0x42c80000
mov cl, bl
mov dword [ebp - 0x1c], 0x41b00000
mov byte [ebp - 0x34], cl
mov eax, edx
mov dword [ebp - 0x33], 0x637f7f4e
mov dword [ebp - 0x2f], 0x2c2c2c76
mov byte [ebp - 0x2b], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 8
jae 0x1008965f
mov cl, byte [ebp - 0x34]
jmp 0x10089650
mov byte [ebp - 0x2b], dl
lea ecx, [ebp - 0x33]
push edx
lea edx, [ebp - 0x20]
call fcn.10070a89
pop ecx
test al, al
je 0x10089689
cmp byte [0x1013b520], 0
je 0x10089689
mov edx, dword [0x1013b518]
mov ecx, esi
call fcn.1008843d
call fcn.1005e740
call fcn.1007237d
call fcn.1007237d
movaps xmm0, xmmword [0x100ff750]
xor ecx, ecx
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x70], 0x37282b3d
movaps xmm0, xmmword [0x100ff260]
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0x3d2b36
mov al, byte [ebp - 0x90]
xor byte [ebp + ecx - 0x8f], al
inc ecx
cmp ecx, 0x26
jb 0x100896c1
mov eax, 0xff
mov byte [ebp - 0x69], 0
push eax
push 0x14
push eax
push 0x14
lea ecx, [ebp - 0x68]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x50]
lea eax, [ebp - 0x8f]
push eax
lea eax, [ebp - 0x50]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
pop ecx
pop ecx
mov eax, 0xff
lea ecx, [ebp - 0x68]
push eax
push eax
push 0x14
push 0x14
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x50]
lea eax, [ebp - 0x50]
push 0x100f8dac
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
pop ecx
pop ecx
call fcn.1005f271
mov cl, 0x2e
mov dword [ebp - 0x4c], 0x2727272e
mov dword [ebp - 0x48], 0x27272727
xor eax, eax
mov dword [ebp - 0x44], 0x5b424f78
mov word [ebp - 0x40], 0x4b
xor byte [ebp + eax - 0x4b], cl
inc eax
cmp eax, 0xc
jae 0x10089770
mov cl, byte [ebp - 0x4c]
jmp 0x10089761
mov eax, 0xff
mov byte [ebp - 0x3f], 0
push eax
push 0x14
push 0x14
push eax
lea ecx, [ebp - 0x28]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x68]
lea eax, [ebp - 0x4b]
push eax
lea eax, [ebp - 0x68]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
pop ecx
pop ecx
call fcn.1005f271
movaps xmm0, xmmword [0x100ff490]
xor ecx, ecx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], 0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, ebx
jb 0x100897c0
mov eax, 0xff
mov byte [ebp - 0x18], 0
push eax
push 0x14
push eax
push eax
lea ecx, [ebp - 0x68]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x50]
lea eax, [ebp - 0x27]
push eax
lea eax, [ebp - 0x50]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
movss xmm0, dword [0x100feea4]
pop ecx
pop ecx
call fcn.1005e6fe
mov eax, dword [0x1013aeb8]
sub eax, dword [0x1013aeb4]
push 0xc
cdq
pop ecx
idiv ecx
xor edx, edx
mov dword [ebp - 0x34], 0x62626241
mov edi, eax
mov byte [ebp - 0x30], bl
mov cl, 0x41
mov dword [ebp - 0x2f], 0x242c20
mov eax, edx
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 7
jae 0x10089840
mov cl, byte [ebp - 0x34]
jmp 0x10089831
and dword [ebp - 0x20], edx
lea ecx, [ebp - 0x20]
and dword [ebp - 0x1c], edx
mov esi, edi
push edx
push edx
shl esi, 6
push edx
push ecx
mov byte [ebp - 0x2c], dl
lea ecx, [ebp - 0x33]
lea eax, [esi + 0x1013bdf8]
push pe_nt_image_headers32
mov edx, eax
mov dword [ebp - 0x3c], eax
call fcn.1007576d
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
xor ecx, ecx
mov byte [ebp - 0x34], bl
mov dword [ebp - 0x33], 0x592c2c2c
mov eax, ecx
mov dword [ebp - 0x2f], 0x6a7a636e
mov byte [ebp - 0x2b], cl
xor byte [ebp + eax - 0x33], bl
inc eax
cmp eax, 8
jae 0x100898a4
mov bl, byte [ebp - 0x34]
jmp 0x10089895
and dword [ebp - 0x20], ecx
lea eax, [ebp - 0x20]
and dword [ebp - 0x1c], ecx
lea ebx, [esi + 0x1013d7c0]
push ecx
push ecx
push ecx
push eax
mov byte [ebp - 0x2b], cl
mov edx, ebx
push pe_nt_image_headers32
lea ecx, [ebp - 0x33]
call fcn.1007576d
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
xor edx, edx
mov dword [ebp - 0x34], 0x2e2e2e0d
mov cl, 0xd
mov dword [ebp - 0x30], 0x796c795e
mov word [ebp - 0x2c], 0x7e78
mov eax, edx
mov byte [ebp - 0x2a], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 9
jae 0x10089905
mov cl, byte [ebp - 0x34]
jmp 0x100898f6
and dword [ebp - 0x20], edx
lea eax, [ebp - 0x20]
and dword [ebp - 0x1c], edx
lea edi, [edi*2 + 0x1013d736]
push edx
push edx
push edx
push eax
mov byte [ebp - 0x2a], dl
lea ecx, [ebp - 0x33]
push 2
mov edx, edi
call fcn.1007576d
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
mov eax, dword [0x100f9780]
push 0x54
pop edx
xor al, dl
mov dword [ebp - 0x30], 0x42200000
mov byte [ebp - 0x1b], al
mov al, ah
xor al, dl
mov dword [ebp - 0x2c], 0x41b00000
mov byte [ebp - 0x1a], al
mov al, byte [0x100f9782]
xor al, dl
mov byte [ebp - 0x1c], dl
xor ecx, ecx
mov byte [ebp - 0x19], al
mov byte [ebp - 0x18], cl
mov eax, ecx
xor byte [ebp + eax - 0x1b], dl
inc eax
cmp eax, 3
jae 0x10089980
mov dl, byte [ebp - 0x1c]
jmp 0x10089971
mov byte [ebp - 0x18], cl
lea edx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x1b]
call fcn.10070a89
pop ecx
test al, al
je 0x10089a85
mov ecx, dword [0x10113a0c]
lea edx, [esi + 0x1013bdf8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x34]
test eax, eax
je 0x10089acc
mov eax, dword [0x1013aeb8]
xor esi, esi
sub eax, dword [0x1013aeb4]
push 0xc
cdq
pop ecx
idiv ecx
test eax, eax
je 0x10089a18
push esi
mov ecx, 0x1013aeb4
call fcn.10055444
mov ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100899f9
test dl, dl
je 0x100899f5
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100899f9
add eax, 2
add ecx, 2
test dl, dl
jne 0x100899d9
xor eax, eax
jmp 0x100899fe
sbb eax, eax
or eax, 1
test eax, eax
je 0x10089a69
mov eax, dword [0x1013aeb8]
inc esi
sub eax, dword [0x1013aeb4]
push 0xc
cdq
pop ecx
idiv ecx
cmp esi, eax
jb 0x100899c9
mov eax, dword [ebp - 0x3c]
mov ecx, 0x1013aeb4
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], edi
call fcn.1008a3f2
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, 0x1013aeb4
push dword [eax]
lea eax, [ebp - 0x1c]
push eax
call fcn.1008a997
mov ecx, dword [0x1013aeb8]
mov eax, ecx
sub eax, dword [0x1013aeb4]
push 0xc
cdq
pop edi
idiv edi
cmp eax, 0x64
jbe 0x10089a88
lea eax, [ecx - 0xc]
mov dword [0x1013aeb8], eax
jmp 0x10089a88
push esi
mov ecx, 0x1013aeb4
call fcn.10055444
push esi
mov ecx, 0x1013aeb4
mov dword [eax + 4], ebx
call fcn.10055444
mov dword [eax + 8], edi
push 0xc
pop edi
mov ebx, dword [ebp - 0x3c]
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
call fcn.1005f271
xor edx, edx
mov dword [ebp - 0x30], 0x42700000
mov dword [ebp - 0x2c], 0x41b00000
mov cl, 0x5f
mov dword [ebp - 0x20], 0x323a0d5f
mov eax, edx
mov dword [ebp - 0x1c], 0x3a2930
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 6
jae 0x10089b3d
mov cl, byte [ebp - 0x20]
jmp 0x10089abd
mov eax, dword [0x10113a0c]
xor ecx, ecx
movaps xmm0, xmmword [0x100ffee0]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0x7214405b
mov eax, dword [eax]
mov dword [ebp - 0x44], 0x505a415b
mov word [ebp - 0x40], 0x3e
mov esi, dword [eax + 0x5c]
mov al, byte [ebp - 0x58]
xor byte [ebp + ecx - 0x57], al
inc ecx
cmp ecx, 0x18
jb 0x10089af7
push 0xff
push 0xff
push 0x14
push 0x14
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x3f], 0
call fcn.1004ebcf
mov ebx, dword [ebp - 0x3c]
lea eax, [ebp - 0x57]
push ebx
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [0x10113a0c]
call esi
add esp, 0x10
push 0xc
pop edi
jmp 0x10089a8b
mov byte [ebp - 0x19], dl
lea ecx, [ebp - 0x1f]
push edx
lea edx, [ebp - 0x30]
call fcn.10070a89
pop ecx
test al, al
je 0x10089bec
mov ecx, dword [0x10113a0c]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x34]
test eax, eax
je 0x10089bec
mov eax, dword [0x1013aeb8]
xor esi, esi
sub eax, dword [0x1013aeb4]
cdq
idiv edi
test eax, eax
je 0x10089bec
push esi
mov ecx, 0x1013aeb4
call fcn.10055444
mov ecx, dword [eax]
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10089bac
test dl, dl
je 0x10089ba8
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10089bac
add eax, 2
add ecx, 2
test dl, dl
jne 0x10089b8c
xor eax, eax
jmp 0x10089bb1
sbb eax, eax
or eax, 1
test eax, eax
je 0x10089bca
mov eax, dword [0x1013aeb8]
inc esi
sub eax, dword [0x1013aeb4]
cdq
idiv edi
cmp esi, eax
jb 0x10089b7d
jmp 0x10089bec
lea eax, [ebp - 0x1c]
mov ecx, 0x1013aeb4
push eax
call fcn.1008a3f2
imul ecx, esi, 0xc
add ecx, dword [eax]
lea eax, [ebp - 0x2c]
push ecx
push eax
mov ecx, 0x1013aeb4
call fcn.1008a404
mov eax, dword [0x1013aeb8]
xor ebx, ebx
sub eax, dword [0x1013aeb4]
cdq
idiv edi
test eax, eax
je 0x10089d00
movaps xmm0, xmmword [0x100ff0d0]
mov ecx, ebx
movups xmmword [ebp - 0x50], xmm0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0xe
jb 0x10089c11
push 0xff
push 0xff
push 0x14
push 0x14
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x41], bl
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x68]
lea eax, [ebp - 0x4f]
push eax
lea eax, [ebp - 0x68]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
mov eax, dword [0x1013aeb8]
mov esi, ebx
sub eax, dword [0x1013aeb4]
pop ecx
pop ecx
push 0xc
cdq
pop ecx
idiv ecx
test eax, eax
je 0x10089d00
mov ebx, 0x1013aeb4
push esi
mov ecx, ebx
call fcn.10055444
push esi
mov ecx, ebx
mov edi, dword [eax + 8]
call fcn.10055444
push esi
mov ecx, 0x1013aeb4
mov ebx, dword [eax + 4]
call fcn.10055444
movaps xmm0, xmmword [0x100ff2d0]
xor ecx, ecx
mov edx, dword [eax]
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x70], 0x79633c3a
movaps xmm0, xmmword [0x100ff6a0]
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0x532a7c
mov al, byte [ebp - 0x90]
xor byte [ebp + ecx - 0x8f], al
inc ecx
cmp ecx, 0x26
jb 0x10089cbb
push edi
push ebx
push edx
lea eax, [ebp - 0x8f]
mov byte [ebp - 0x69], 0
push eax
call fcn.100705fe
mov eax, dword [0x1013aeb8]
add esp, 0x10
sub eax, dword [0x1013aeb4]
inc esi
cdq
push 0xc
pop ecx
idiv ecx
cmp esi, eax
jb 0x10089c6a
xor ebx, ebx
call fcn.1005e740
call fcn.1007237d
call fcn.1007237d
movaps xmm0, xmmword [0x100ff1b0]
mov ecx, ebx
movups xmmword [ebp - 0x50], xmm0
mov word [ebp - 0x40], 3
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x10
jb 0x10089d22
mov edx, 0x10112a3c
mov byte [ebp - 0x3f], bl
lea ecx, [ebp - 0x4f]
call fcn.10071a1b
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
call fcn.1005f271
xor ecx, ecx
call fcn.1005ef81
mov dword [ebp - 0x30], 0x42480000
mov cl, 0x38
mov dword [ebp - 0x2c], 0x41a00000
mov eax, ebx
mov dword [ebp - 0x1c], 0x16161638
mov byte [ebp - 0x18], bl
xor byte [ebp + eax - 0x1b], cl
inc eax
cmp eax, 3
jae 0x10089d81
mov cl, byte [ebp - 0x1c]
jmp 0x10089d72
push ebx
lea edx, [ebp - 0x30]
mov byte [ebp - 0x18], bl
lea ecx, [ebp - 0x1b]
call fcn.10070a89
pop ecx
test al, al
je 0x10089dca
mov cl, 0x48
mov dword [ebp - 0x20], 0x17240b48
mov dword [ebp - 0x1c], 0x2d3c2601
mov eax, ebx
mov word [ebp - 0x18], 0x383a
mov byte [ebp - 0x16], bl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 9
jae 0x10089dbf
mov cl, byte [ebp - 0x20]
jmp 0x10089db0
lea ecx, [ebp - 0x1f]
mov byte [ebp - 0x16], bl
call fcn.1005f4df
push 0x29
pop ebx
push 0xc
pop eax
mov byte [ebp - 0x60], al
mov cl, 0x45
mov word [ebp - 0x64], 0x645
xor eax, eax
mov byte [ebp - 0x62], bl
mov byte [ebp - 0x61], 0x1a
mov dword [ebp - 0x5f], 0x3720312b
mov word [ebp - 0x5b], 0x35
xor byte [ebp + eax - 0x63], cl
inc eax
cmp eax, 9
jae 0x10089e00
mov cl, byte [ebp - 0x64]
jmp 0x10089df1
xor edx, edx
mov byte [ebp - 0x5a], 0
lea ecx, [ebp - 0x63]
call fcn.1005f831
test al, al
je 0x1008a17e
movss xmm0, dword [0x100fee84]
call fcn.1005e6fe
movaps xmm0, xmmword [0x10100020]
xor edx, edx
movups xmmword [ebp - 0x54], xmm0
mov word [ebp - 0x44], 0x6c7c
mov ecx, edx
mov byte [ebp - 0x42], dl
mov al, byte [ebp - 0x54]
xor byte [ebp + ecx - 0x53], al
inc ecx
cmp ecx, 0x11
jb 0x10089e3b
and dword [ebp - 0x1c], edx
lea ecx, [ebp - 0x53]
and dword [ebp - 0x2c], edx
mov esi, 0x20000
push esi
mov edi, 0x100f8d40
mov byte [ebp - 0x42], dl
push edi
push edx
push edx
push 0x1013b5cc
push 4
pop edx
call fcn.100741ec
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
movaps xmm0, xmmword [0x101002c0]
xor edx, edx
movups xmmword [ebp - 0x54], xmm0
mov word [ebp - 0x44], 0x7767
mov ecx, edx
mov byte [ebp - 0x42], dl
mov al, byte [ebp - 0x54]
xor byte [ebp + ecx - 0x53], al
inc ecx
cmp ecx, 0x11
jb 0x10089e9a
and dword [ebp - 0x1c], edx
lea ecx, [ebp - 0x53]
and dword [ebp - 0x2c], edx
push esi
push edi
push edx
push edx
push 0x10112a44
mov byte [ebp - 0x42], dl
push 4
pop edx
call fcn.100741ec
movss xmm1, dword [0x100fef38]
add esp, 0x14
xorps xmm0, xmm0
call fcn.1005f271
push 0x3e
xor edx, edx
mov dword [ebp - 0x30], 0x42c80000
pop ecx
mov dword [ebp - 0x2c], 0x41a00000
mov eax, edx
mov byte [ebp - 0x20], cl
mov dword [ebp - 0x1f], 0x5f5a4e6b
mov word [ebp - 0x1b], 0x5b4a
mov byte [ebp - 0x19], dl
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 6
jae 0x10089f0e
mov cl, byte [ebp - 0x20]
jmp 0x10089eff
mov byte [ebp - 0x19], dl
lea ecx, [ebp - 0x1f]
push edx
lea edx, [ebp - 0x30]
call fcn.10070a89
pop ecx
test al, al
je 0x1008a086
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10113814]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1013bdd0]
cmp eax, dword [ecx + 4]
jle 0x10089fa8
mov esi, 0x1013bdd0
push esi
call fcn.1009cfcc
cmp dword [0x1013bdd0], 0xffffffff
pop ecx
jne 0x10089fa8
and dword [ebp - 4], 0
mov ecx, dword [0x10113a0c]
mov byte [ebp - 0x4c], bl
mov dword [ebp - 0x4b], 0x4076454a
mov dword [ebp - 0x47], 0x5b4c5d47
mov eax, dword [ecx]
mov word [ebp - 0x43], 0x59
mov edx, dword [eax + 0x34]
xor eax, eax
xor byte [ebp + eax - 0x4b], bl
inc eax
cmp eax, 9
jae 0x10089f8e
mov bl, byte [ebp - 0x4c]
jmp 0x10089f7f
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x42], 0
push eax
call edx
or dword [ebp - 4], 0xffffffff
push esi
mov dword [0x1013bdc8], eax
call fcn.1009cf82
pop ecx
movss xmm0, dword [0x1013b5cc]
mov ecx, dword [0x1013bdc8]
movss dword [0x10112a40], xmm0
test ecx, ecx
je 0x1008a086
movss xmm0, dword [0x10112a44]
add ecx, 0x18
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x1013bdc8]
push 0x50
pop ecx
mov byte [ebp - 0x3c], cl
and dword [eax + 0x44], 0
mov dword [eax + 0x40], 0x7f800000
mov dword [eax + 0x38], 0xff800000
xor eax, eax
movss xmm0, dword [0x10112a44]
cvtps2pd xmm0, xmm0
mov word [ebp - 0x3b], 0x3675
mov byte [ebp - 0x39], 0
xor byte [ebp + eax - 0x3b], cl
inc eax
cmp eax, 2
jae 0x1008a01f
mov cl, byte [ebp - 0x3c]
jmp 0x1008a010
push ecx
push ecx
movsd qword [esp], xmm0
lea eax, [ebp - 0x3b]
push eax
push pe_nt_image_headers32
mov esi, 0x1013bdf0
mov byte [ebp - 0x39], 0
push esi
call fcn.1000a313
mov ecx, dword [0x10113a14]
add esp, 0x14
mov eax, dword [ecx]
call dword [eax + 0x68]
test al, al
je 0x1008a086
mov cl, 0x1e
mov dword [ebp - 0x4c], 0x41727d1e
mov dword [ebp - 0x48], 0x7b6a7077
xor eax, eax
mov word [ebp - 0x44], 0x6e6c
mov byte [ebp - 0x42], 0
xor byte [ebp + eax - 0x4b], cl
inc eax
cmp eax, 9
jae 0x1008a078
mov cl, byte [ebp - 0x4c]
jmp 0x1008a069
mov edx, esi
mov byte [ebp - 0x42], 0
lea ecx, [ebp - 0x4b]
call fcn.10082742
push 0xc
pop eax
xor ebx, ebx
mov byte [ebp - 0x4b], al
mov cl, 0x5c
mov dword [ebp - 0x4a], 0x343f283d
mov byte [ebp - 0x4c], cl
mov eax, ebx
mov dword [ebp - 0x46], 0x637c3839
mov byte [ebp - 0x42], bl
xor byte [ebp + eax - 0x4b], cl
inc eax
cmp eax, 9
jae 0x1008a0b5
mov cl, byte [ebp - 0x4c]
jmp 0x1008a0a6
mov eax, 0xff
mov byte [ebp - 0x42], bl
push eax
push 0x14
push 0x14
push eax
lea ecx, [ebp - 0x38]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0x28]
lea eax, [ebp - 0x4b]
push eax
lea eax, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
pop ecx
pop ecx
call fcn.1005f271
movaps xmm0, xmmword [0x10100040]
mov ecx, ebx
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0x98], 0x6661637a
movaps xmm0, xmmword [0x10100060]
movups xmmword [ebp - 0xa8], xmm0
mov word [ebp - 0x94], 0x6f
mov al, byte [ebp - 0xb8]
xor byte [ebp + ecx - 0xb7], al
inc ecx
cmp ecx, 0x24
jb 0x1008a124
mov eax, 0xff
mov byte [ebp - 0x93], bl
push eax
push 0x14
push eax
push 0x14
lea ecx, [ebp - 0xd8]
call fcn.1005554a
mov esi, eax
lea edi, [ebp - 0xc8]
lea eax, [ebp - 0xb7]
push eax
lea eax, [ebp - 0xc8]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
pop ecx
pop ecx
call fcn.1005e740
call fcn.1005f88e
mov eax, dword [0x10113a04]
mov eax, dword [eax + 0x199c]
dec dword [eax + 0x1bc]
call fcn.1009e12a
ret