Function at 0x10014de0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101c48af
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x10244540]
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, ecx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xe0], 0
call fcn.10007a50
call fcn.10009780
call fcn.1000b640
call fcn.1000d400
call fcn.1000f2e0
call fcn.10011190
call fcn.10012f70
mov dl, 0x2b
mov dword [ebp - 0xc4], 0
mov al, dl
mov byte [ebp - 0xb8], dl
xor al, 0x50
mov dword [ebp - 0xc0], 0
mov cl, dl
mov byte [ebp - 0x8f], al
mov byte [ebp - 0x8e], al
xor cl, 0x41
mov al, dl
mov dword [ebp - 0xbc], 0
xor dl, 0x54
mov dword [ebp - 0xc8], 0x101ec184
xorps xmm0, xmm0
mov byte [ebp - 0x8b], dl
xor al, 0x44
mov byte [ebp - 0x90], cl
xor edx, edx
mov byte [ebp - 0x8d], al
movups xmmword [ebp - 0xb4], xmm0
mov byte [ebp - 0x8c], cl
xor esi, esi
movups xmmword [ebp - 0xa4], xmm0
mov byte [ebp - 0x8a], cl
mov byte [ebp - 0x89], 0
nop dword [eax + eax]
mov eax, esi
add esi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xb4], eax
inc edx
cmp edx, 8
jb 0x10014ee0
push 7
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xc8]
call fcn.100046f0
mov dword [ebp - 0x94], eax
xor edx, edx
mov dword [ebp - 4], 1
xor esi, esi
nop word [eax + eax]
mov eax, esi
add esi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xb4], eax
inc edx
cmp edx, 8
jb 0x10014f50
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xc0]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], eax
cmp esi, ecx
ja 0x10015013
push esi
call fcn.101a087d
mov edi, eax
add esp, 4
mov dword [ebp - 0xc4], edi
test edi, edi
je 0x10015013
mov eax, dword [ebp - 0x94]
add esi, 0xfffffff8
push esi
add eax, 8
push eax
push edi
call fcn.10190960
lea eax, [ebp - 0xb4]
mov edx, esi
push eax
push 0
mov ecx, edi
call fcn.10004600
mov ecx, dword [ebp - 0xc4]
add esp, 0x14
test ecx, ecx
je 0x10015013
mov al, byte [ebp - 0xb8]
xor byte [ecx], al
xor byte [ecx + 1], al
xor byte [ecx + 2], al
xor byte [ecx + 3], al
xor byte [ecx + 4], al
xor byte [ecx + 5], al
xor byte [ecx + 6], al
mov byte [ecx + 7], 0
jmp 0x10015015
xor ecx, ecx
push ecx
call fcn.101a0872
mov edx, eax
mov dword [ebp - 0x18], 0
mov ecx, edx
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
add esp, 4
movups xmmword [ebp - 0x28], xmm0
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10015040
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.100191c0
mov ah, 0xac
mov dword [ebp - 0xd0], 0
mov al, ah
mov byte [ebp - 0xc4], ah
xor al, 0x64
mov dword [ebp - 0xcc], 0
mov byte [ebp - 0x9b], al
mov cl, ah
mov al, ah
mov dword [ebp - 0xc8], 0
xor al, 0x75
mov dword [ebp - 0xd4], 0x101ec248
mov byte [ebp - 0x99], al
xor cl, 0x6f
mov al, ah
mov byte [ebp - 0x9a], cl
xor al, 0x79
mov byte [ebp - 0x93], cl
mov byte [ebp - 0x98], al
mov dl, ah
mov al, ah
mov byte [ebp - 0x89], 0
xor al, 0x69
xor dl, 0x5c
mov byte [ebp - 0x97], al
mov cl, ah
mov al, ah
mov byte [ebp - 0x9c], dl
xor al, 0x6e
mov byte [ebp - 0x95], dl
mov byte [ebp - 0x96], al
xor cl, 0x61
mov al, ah
mov byte [ebp - 0x91], cl
xor al, 0x4c
mov byte [ebp - 0x8c], cl
mov byte [ebp - 0x94], al
xorps xmm0, xmm0
mov al, ah
xor edx, edx
xor al, 0x63
mov byte [ebp - 0x92], al
mov al, ah
xor al, 0x6c
mov byte [ebp - 0x90], al
mov al, ah
xor al, 0x20
mov byte [ebp - 0x8f], al
mov al, ah
xor al, 0x53
mov byte [ebp - 0x8e], al
mov al, ah
xor al, 0x74
xor ah, 0x65
movups xmmword [ebp - 0xc0], xmm0
mov byte [ebp - 0x8d], al
xor esi, esi
movups xmmword [ebp - 0xb0], xmm0
mov byte [ebp - 0x8b], al
mov byte [ebp - 0x8a], ah
nop
mov eax, esi
add esi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xc0], eax
inc edx
cmp edx, 8
jb 0x10015150
push 0x13
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xd4]
call fcn.100046f0
mov dword [ebp - 0xa0], eax
xor edx, edx
mov byte [ebp - 4], 4
xor esi, esi
mov eax, esi
add esi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xc0], eax
inc edx
cmp edx, 8
jb 0x100151b3
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xcc]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xc8], eax
cmp esi, ecx
ja 0x1001529d
push esi
call fcn.101a087d
mov edi, eax
add esp, 4
mov dword [ebp - 0xd0], edi
test edi, edi
je 0x1001529d
mov eax, dword [ebp - 0xa0]
add esi, 0xfffffff8
push esi
add eax, 8
push eax
push edi
call fcn.10190960
lea eax, [ebp - 0xc0]
mov edx, esi
push eax
push 0
mov ecx, edi
call fcn.10004600
mov edx, dword [ebp - 0xd0]
add esp, 0x14
test edx, edx
je 0x1001529d
movsx eax, byte [ebp - 0xc4]
mov ecx, 0x10
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
pshufd xmm1, xmm0, 0
movups xmm0, xmmword [edx]
xorps xmm1, xmm0
movups xmmword [edx], xmm1
lea eax, [ecx + edx]
mov dl, byte [ebp - 0xc4]
xor byte [eax], dl
inc ecx
mov edx, dword [ebp - 0xd0]
cmp ecx, 0x13
jb 0x10015280
mov byte [edx + 0x13], 0
jmp 0x1001529f
xor edx, edx
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100152a4
sub ecx, esi
mov eax, bind
mov esi, dword [ebp - 0x18]
sub eax, esi
cmp eax, ecx
jb 0x10015ebb
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
push ecx
cmova eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x88]
push edx
push esi
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0xf4]
call fcn.100198c0
mov dword [ebp - 0xe0], 4
mov cl, 0xe3
mov dword [ebp - 0xd4], 0
mov al, cl
mov byte [ebp - 0xd9], cl
xor al, 0x64
mov byte [ebp - 0xc8], cl
mov byte [ebp - 0x9f], al
mov dh, cl
mov al, cl
mov dword [ebp - 0xd0], 0
xor al, 0x75
mov dword [ebp - 0xcc], 0
mov byte [ebp - 0x9d], al
xor dh, 0x5c
mov al, cl
mov byte [ebp - 0xa0], dh
xor al, 0x79
mov byte [ebp - 0x99], dh
mov byte [ebp - 0x9c], al
mov dl, cl
mov al, cl
mov byte [ebp - 0x91], dh
mov dh, byte [ebp - 0xd9]
xor al, 0x6e
mov byte [ebp - 0x9a], al
xor dl, 0x65
mov al, cl
mov byte [ebp - 0x97], dl
xor al, 0x4e
mov byte [ebp - 0x8b], dl
mov byte [ebp - 0x98], al
mov ch, cl
mov al, cl
mov dword [ebp - 0xd8], 0x101ec154
xor al, 0x74
mov byte [ebp - 0x89], 0
mov byte [ebp - 0x96], al
xor ch, 0x6f
mov al, cl
mov byte [ebp - 0x9e], ch
xor al, 0x77
mov byte [ebp - 0x94], ch
mov byte [ebp - 0x95], al
mov ah, cl
mov al, cl
mov byte [ebp - 0x8f], ch
xor al, 0x72
mov byte [ebp - 0x8e], ch
mov byte [ebp - 0x93], al
xor ah, 0x69
mov al, dh
mov byte [ebp - 0x9b], ah
xor dh, 0x73
mov byte [ebp - 0x8c], ah
xor cl, 0x6b
mov byte [ebp - 0x8a], dh
xorps xmm0, xmm0
mov byte [ebp - 0x92], cl
xor al, 0x43
mov byte [ebp - 0x8d], cl
xor edx, edx
mov byte [ebp - 0x90], al
movups xmmword [ebp - 0xc4], xmm0
xor esi, esi
movups xmmword [ebp - 0xb4], xmm0
nop dword [eax]
mov eax, esi
add esi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xc4], eax
inc edx
cmp edx, 8
jb 0x10015410
push 0x17
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0xd8]
call fcn.100046f0
mov dword [ebp - 0xa4], eax
xor edx, edx
mov byte [ebp - 4], 7
xor esi, esi
mov eax, esi
add esi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xc4], eax
inc edx
cmp edx, 8
jb 0x10015473
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xd0]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], eax
cmp esi, ecx
ja 0x10015561
push esi
call fcn.101a087d
mov edi, eax
add esp, 4
mov dword [ebp - 0xd4], edi
test edi, edi
je 0x10015561
mov eax, dword [ebp - 0xa4]
add esi, 0xfffffff8
push esi
add eax, 8
push eax
push edi
call fcn.10190960
lea eax, [ebp - 0xc4]
mov edx, esi
push eax
push 0
mov ecx, edi
call fcn.10004600
mov edx, dword [ebp - 0xd4]
add esp, 0x14
test edx, edx
je 0x10015561
movsx eax, byte [ebp - 0xc8]
mov ecx, 0x10
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
pshufd xmm1, xmm0, 0
movups xmm0, xmmword [edx]
xorps xmm1, xmm0
movups xmmword [edx], xmm1
lea eax, [edx + ecx]
mov dl, byte [ebp - 0xc8]
xor byte [eax], dl
inc ecx
mov edx, dword [ebp - 0xd4]
cmp ecx, 0x17
jb 0x10015544
mov byte [edx + 0x17], 0
jmp 0x10015563
xor edx, edx
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10015568
sub ecx, esi
mov eax, bind
mov esi, dword [ebp - 0x18]
sub eax, esi
cmp eax, ecx
jb 0x10015ec0
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
push ecx
cmova eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x70]
push edx
push esi
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0xf4]
call fcn.100198c0
mov dword [ebp - 0xe0], 6
mov byte [ebp - 4], 9
lea edx, [ebp - 0x88]
cmp dword [ebp - 0x74], 0xf
xorps xmm0, xmm0
movups xmmword [ebp - 0x110], xmm0
cmova edx, dword [ebp - 0x88]
mov ecx, edx
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100155e6
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x110]
call fcn.100191c0
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x110]
cmp dword [ebp - 0x5c], 0xf
lea esi, [ebp - 0x70]
push eax
cmova esi, dword [ebp - 0x70]
call fcn.100168e0
mov ecx, esi
mov edx, eax
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10015620
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.10017d60
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xfc]
cmp ecx, 0xf
jbe 0x10015670
mov edx, dword [ebp - 0x110]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10015666
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015ec5
push ecx
push edx
call fcn.1018eb3e
add esp, 8
mov dl, 0x69
mov dword [ebp - 0xc8], 0
mov al, dl
mov byte [ebp - 0xbc], dl
xor al, 0x65
mov dword [ebp - 0xc4], 0
mov byte [ebp - 0x93], al
mov cl, dl
xor cl, 0x73
mov dword [ebp - 0xc0], 0
mov al, dl
mov byte [ebp - 0x94], cl
xor al, 0x6f
mov byte [ebp - 0x92], cl
mov byte [ebp - 0x91], cl
xorps xmm0, xmm0
mov cl, dl
mov byte [ebp - 0x8f], al
mov al, dl
mov dword [ebp - 0xcc], 0x101f3f90
xor dl, 0x64
xor cl, cl
xor al, 0x6e
mov byte [ebp - 0x8c], dl
xor edx, edx
mov byte [ebp - 0x90], cl
movups xmmword [ebp - 0xb8], xmm0
mov byte [ebp - 0x8e], al
xor esi, esi
movups xmmword [ebp - 0xa8], xmm0
mov byte [ebp - 0x8d], cl
mov byte [ebp - 0x8b], cl
nop dword [eax]
mov eax, esi
add esi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xb8], eax
inc edx
cmp edx, 8
jb 0x10015710
push 9
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xcc]
call fcn.100046f0
mov dword [ebp - 0x98], eax
xor edx, edx
mov byte [ebp - 4], 0xb
xor esi, esi
mov eax, esi
add esi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xb8], eax
inc edx
cmp edx, 8
jb 0x10015773
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc4]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], eax
cmp esi, ecx
ja 0x1001583c
push esi
call fcn.101a087d
mov edi, eax
add esp, 4
mov dword [ebp - 0xc8], edi
test edi, edi
je 0x1001583c
mov eax, dword [ebp - 0x98]
add esi, 0xfffffff8
push esi
add eax, 8
push eax
push edi
call fcn.10190960
lea eax, [ebp - 0xb8]
mov edx, esi
push eax
push 0
mov ecx, edi
call fcn.10004600
mov ecx, dword [ebp - 0xc8]
add esp, 0x14
test ecx, ecx
je 0x1001583c
mov al, byte [ebp - 0xbc]
xor byte [ecx], al
xor byte [ecx + 1], al
xor byte [ecx + 2], al
xor byte [ecx + 3], al
xor byte [ecx + 4], al
xor byte [ecx + 5], al
xor byte [ecx + 6], al
xor byte [ecx + 7], al
xor byte [ecx + 8], al
mov byte [ecx + 9], 0
jmp 0x1001583e
xor ecx, ecx
mov edx, ecx
mov dword [ebp - 0x48], 0
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10015858
sub edx, esi
push edx
push ecx
lea ecx, [ebp - 0x58]
call fcn.100191c0
mov byte [ebp - 4], 0xd
xorps xmm0, xmm0
mov edi, dword [ebp - 0xec]
mov ecx, edi
push 0
push 0x101ebc35
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.100191c0
mov eax, dword [0x1024c928]
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0xe0], 7
mov dword [ebp - 0xf8], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10015dd4
nop dword [eax]
push 0x40
lea edi, [esi + 8]
call fcn.1018e7f4
push 0x40
push 0
push eax
mov dword [ebp - 0xe4], eax
call fcn.10190ee0
lea eax, [edi + 0x18]
add esp, 0x10
cmp dword [eax + 0x14], 0xf
jbe 0x100158e8
mov eax, dword [eax]
cmp dword [edi + 0x14], 0xf
jbe 0x100158f0
mov edi, dword [edi]
mov ecx, dword [ebp - 0xe4]
xorps xmm0, xmm0
mov dword [ecx + 4], edi
mov edi, ecx
mov byte [ecx], 0
mov dword [edi + 8], eax
movups xmmword [edi + 0x10], xmm0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0xf
mov byte [edi + 0x10], 0
movups xmmword [edi + 0x28], xmm0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0xf
mov byte [edi + 0x28], 0
call fcn.1001b2d0
cmp byte [edi], 1
jne 0x10015d14
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.100048e0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x10015cd4
cmp dword [ebp - 0x44], 0xf
lea edi, [ebp - 0x58]
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x40]
cmova edi, dword [ebp - 0x58]
cmp dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x11c], edi
cmova ecx, dword [ebp - 0x40]
mov dword [ebp - 0xf0], ecx
cmp edx, eax
ja 0x10015cd4
test edx, edx
je 0x10015a5a
sub eax, edx
movsx edx, byte [edi]
inc eax
mov dword [ebp - 0x118], edx
add eax, ecx
mov dword [ebp - 0x114], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.101916e0
add esp, 0xc
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x10015cd4
mov edx, edi
mov ecx, eax
mov edi, dword [ebp - 0x48]
sub edi, 4
jb 0x100159d4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100159d9
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100159c3
cmp edi, 0xfffffffc
je 0x10015a0d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10015a06
cmp edi, 0xfffffffd
je 0x10015a0d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10015a06
cmp edi, 0xfffffffe
je 0x10015a0d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10015a06
cmp edi, 0xffffffff
je 0x10015a0d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x10015a0d
sbb eax, eax
or eax, 1
jmp 0x10015a0f
xor eax, eax
mov ecx, dword [ebp - 0xe8]
test eax, eax
je 0x10015a4b
mov eax, dword [ebp - 0x114]
inc ecx
sub eax, ecx
push eax
push dword [ebp - 0x118]
push ecx
call fcn.101916e0
mov edi, dword [ebp - 0x11c]
add esp, 0xc
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x100159b7
jmp 0x10015cd4
sub ecx, dword [ebp - 0xf0]
cmp ecx, 0xffffffff
je 0x10015cd4
mov al, 0x11
mov dword [ebp - 0xcc], 0
mov byte [ebp - 0xc0], al
xorps xmm0, xmm0
xor al, 0x21
mov dword [ebp - 0xc8], 0
xor edx, edx
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xd0], 0x101f3fa8
xor edi, edi
movups xmmword [ebp - 0xbc], xmm0
mov byte [ebp - 0x98], al
movups xmmword [ebp - 0xac], xmm0
mov byte [ebp - 0x97], al
mov byte [ebp - 0x96], al
mov byte [ebp - 0x95], al
mov byte [ebp - 0x94], al
mov byte [ebp - 0x93], al
mov byte [ebp - 0x92], al
mov byte [ebp - 0x91], al
mov byte [ebp - 0x90], al
mov byte [ebp - 0x8f], al
mov byte [ebp - 0x8e], al
mov byte [ebp - 0x8d], al
mov byte [ebp - 0x8c], 0
mov eax, edi
add edi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xbc], eax
inc edx
cmp edx, 8
jb 0x10015af0
push 0xc
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xd0]
call fcn.100046f0
mov dword [ebp - 0x9c], eax
xor edx, edx
mov byte [ebp - 4], 0xf
xor edi, edi
mov eax, edi
add edi, 0x5bd1e995
xor eax, 0xb895047e
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
sar eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
sar eax, 0xf
xor eax, ecx
mov dword [ebp + edx*4 - 0xbc], eax
inc edx
cmp edx, 8
jb 0x10015b53
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xc8]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xc4], eax
cmp edi, ecx
ja 0x10015c1f
push edi
call fcn.101a087d
mov ecx, eax
add esp, 4
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x10015c1f
mov eax, dword [ebp - 0x9c]
add edi, 0xfffffff8
push edi
add eax, 8
push eax
push ecx
call fcn.10190960
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0xbc]
push eax
push 0
mov edx, edi
call fcn.10004600
mov edx, dword [ebp - 0xcc]
add esp, 0x14
mov dword [ebp - 0xf0], edx
test edx, edx
je 0x10015c1f
xor ecx, ecx
lea eax, [edx + ecx]
mov dl, byte [ebp - 0xc0]
xor byte [eax], dl
inc ecx
mov edx, dword [ebp - 0xf0]
cmp ecx, 0xc
jb 0x10015c02
mov byte [edx + 0xc], 0
jmp 0x10015c21
xor edx, edx
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10015c26
sub ecx, edi
mov eax, bind
mov edi, dword [ebp - 0x30]
sub eax, edi
cmp eax, ecx
jb 0x10015ebb
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
push edi
cmova eax, dword [ebp - 0x40]
push eax
push ecx
push edx
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0xf4]
lea ecx, [ebp - 0x110]
call fcn.100198c0
or dword [ebp - 0xe0], 8
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x110]
cmp dword [ebp - 0xfc], 0xf
push dword [ebp - 0x100]
cmova eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xec]
push eax
call fcn.10017e60
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xfc]
cmp ecx, 0xf
jbe 0x10015cd4
mov edx, dword [ebp - 0x110]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10015cca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015ec5
push ecx
push edx
call fcn.1018eb3e
add esp, 8
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf
jbe 0x10015d0e
mov edx, dword [ebp - 0x40]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x10015d04
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015ec5
push ecx
push edx
call fcn.1018eb3e
add esp, 8
mov edi, dword [ebp - 0xe4]
mov byte [ebp - 4], 0x11
xor edx, edx
mov ecx, dword [edi + 0xc]
call fcn.101097c0
mov ecx, dword [edi + 0x3c]
cmp ecx, 0xf
jbe 0x10015d56
mov eax, dword [edi + 0x28]
inc ecx
cmp ecx, 0x1000
jb 0x10015d4c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015eca
mov eax, edx
push ecx
push eax
call fcn.1018eb3e
add esp, 8
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0xf
mov byte [edi + 0x28], 0
mov ecx, dword [edi + 0x24]
cmp ecx, 0xf
jbe 0x10015d9c
mov eax, dword [edi + 0x10]
inc ecx
cmp ecx, 0x1000
jb 0x10015d92
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015eca
mov eax, edx
push ecx
push eax
call fcn.1018eb3e
add esp, 8
push 0x40
push edi
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0xf
mov byte [edi + 0x10], 0
mov byte [ebp - 4], 0xd
call fcn.1018eb3e
mov esi, dword [esi]
add esp, 8
cmp esi, dword [ebp - 0xf8]
jne 0x100158c0
mov edx, dword [ebp - 0x58]
mov edi, dword [ebp - 0xec]
mov eax, dword [ebp - 0x44]
cmp eax, 0xf
jbe 0x10015e07
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x10015dfd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015eca
push ecx
push edx
call fcn.1018eb3e
add esp, 8
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x10015e3b
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10015e31
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015eca
push ecx
push edx
call fcn.1018eb3e
add esp, 8
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x10015e6e
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10015e64
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015eca
push ecx
push edx
call fcn.1018eb3e
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x10015e9e
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10015e94
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10015eca
push ecx
push edx
call fcn.1018eb3e
add esp, 8
mov eax, edi
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.1018e7c9
mov esp, ebp
pop ebp
ret
call fcn.10001750
call fcn.10001750
call fcn.1019b181
call fcn.1019b181
int3