Function at 0x10016d50
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xf4
mov eax, dword [0x1018e4ac]
xor eax, esp
mov dword [esp + 0xf0], eax
movaps xmm0, xmmword [0x10183310]
push ebx
push esi
push edi
mov edi, ecx
mov byte [esp + 0xd4], 0
movups xmmword [esp + 0xc4], xmm0
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [esp + 0xc4]
xor byte [esp + ecx + 0xc5], al
inc ecx
cmp ecx, 0xe
jb 0x10016d90
mov eax, dword [edi]
lea esi, [esp + 0xc5]
mov ecx, edi
mov word [esp + 0xd3], 0x100
mov eax, dword [eax + 4]
call eax
nop
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10016de0
test cl, cl
je 0x10016ddc
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10016de0
add eax, 2
add esi, 2
test cl, cl
jne 0x10016dc0
xor eax, eax
jmp 0x10016de5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100170e1
mov ah, 0x7a
mov byte [esp + 0x4d], 0
mov al, 0x14
mov byte [esp + 0x48], ah
xor al, ah
mov word [esp + 0x4d], 0x100
mov cl, 0x1b
mov byte [esp + 0x49], al
xor cl, ah
mov dl, 0x17
xor dl, ah
mov byte [esp + 0x4a], cl
mov bl, 0x1f
mov byte [esp + 0x4b], dl
xor bl, ah
lea ecx, [esp + 0x49]
mov eax, dword [edi]
push 0
mov byte [esp + 0x50], bl
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov dword [esp + 0x70], eax
mov bh, 0x4f
mov ah, 0x3c
mov byte [esp + 0x40], 0
mov dl, 0x58
mov byte [esp + 0x38], ah
mov al, bh
mov word [esp + 0x40], 0x100
xor al, ah
mov bl, dl
mov cl, 0x5d
mov byte [esp + 0x3f], al
xor cl, ah
mov ch, 0x4e
xor ch, ah
mov byte [esp + 0x39], cl
mov dh, 0x59
mov byte [esp + 0x3c], ch
xor dl, ah
lea ecx, [esp + 0x39]
xor bl, ah
mov byte [esp + 0x3a], dl
xor dh, ah
mov byte [esp + 0x3b], bl
xor bh, ah
mov byte [esp + 0x3d], dh
mov eax, dword [edi]
push 0
mov byte [esp + 0x42], bh
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov byte [esp + 0x2c], 0x70
mov cl, 0x1e
xor cl, byte [esp + 0x2c]
mov dl, 0x15
mov byte [esp + 0x2d], cl
mov bl, 4
mov cl, byte [esp + 0x2c]
mov ch, 7
mov dh, 0x1f
mov dword [esp + 0x50], eax
mov bh, 2
mov byte [esp + 0x17], 0x14
xor dl, cl
mov byte [esp + 0x36], 0
xor bl, cl
mov byte [esp + 0x2e], dl
xor ch, cl
mov byte [esp + 0x2f], bl
xor dh, cl
mov byte [esp + 0x30], ch
xor bh, cl
mov byte [esp + 0x31], dh
mov al, 0x1b
mov byte [esp + 0x32], bh
mov ah, 0x19
xor al, cl
mov word [esp + 0x36], 0x100
mov byte [esp + 0x33], al
xor ah, cl
mov al, byte [esp + 0x17]
xor al, cl
mov byte [esp + 0x34], ah
mov byte [esp + 0x35], al
lea ecx, [esp + 0x2d]
mov eax, dword [edi]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x1018ecc2], 0
mov esi, eax
je 0x10016f5a
push esi
lea ecx, [esp + 0xdc]
call fcn.10008870
push 0x1017f9a0
lea ecx, [esp + 0xdc]
call fcn.10007ec0
lea ecx, [esp + 0xd8]
test al, al
je 0x10016f55
call fcn.10008530
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xf0]
xor ecx, esp
call fcn.1013ad45
mov esp, ebp
pop ebp
ret
call fcn.10008530
mov eax, dword [0x1019917c]
xor ecx, ecx
movaps xmm0, xmmword [0x10184230]
mov edx, dword [eax + 0x40]
movups xmmword [esp + 0xd8], xmm0
mov dword [esp + 0xf8], 0x1b63
movaps xmm0, xmmword [0x10184170]
movups xmmword [esp + 0xe8], xmm0
nop dword [eax]
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0x21
jb 0x10016f90
lea eax, [esp + 0xd9]
mov word [esp + 0xfa], 0x100
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0xff00ff00
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0xc
mov cl, 0x47
mov edx, dword [eax + 0x40]
xor eax, eax
mov dword [esp + 0x18], 0x242e0947
mov dword [esp + 0x1c], 0x2a26292c
mov dword [esp + 0x20], 0x62677d22
mov dword [esp + 0x24], 0x4d34
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10017008
mov cl, byte [esp + 0x18]
jmp 0x10016ff8
push dword [esp + 0x70]
lea eax, [esp + 0x1d]
mov word [esp + 0x2a], 0x100
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xff00ff00
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
movaps xmm0, xmmword [0x10183f30]
xor ecx, ecx
mov edx, dword [eax + 0x40]
movups xmmword [esp + 0xd8], xmm0
mov word [esp + 0xe8], 0
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0xf
jb 0x10017051
push dword [esp + 0x50]
lea eax, [esp + 0xdd]
mov word [esp + 0xec], 0x100
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xff00ff00
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
movaps xmm0, xmmword [0x101833a0]
xor ecx, ecx
mov edx, dword [eax + 0x40]
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
nop dword [eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xe
jb 0x100170b0
push esi
lea eax, [esp + 0x1d]
mov word [esp + 0x2b], 0x100
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xff00ff00
push eax
push edx
call fcn.1000a9e0
add esp, 0x10
movaps xmm0, xmmword [0x101837b0]
xor ecx, ecx
movups xmmword [esp + 0x9c], xmm0
mov dword [esp + 0xac], 0x2433
nop dword [eax]
mov al, byte [esp + 0x9c]
xor byte [esp + ecx + 0x9d], al
inc ecx
cmp ecx, 0x11
jb 0x10017100
mov eax, dword [edi]
lea esi, [esp + 0x9d]
mov ecx, edi
mov word [esp + 0xae], 0x100
mov eax, dword [eax + 4]
call eax
nop
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10017150
test cl, cl
je 0x1001714c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10017150
add eax, 2
add esi, 2
test cl, cl
jne 0x10017130
xor eax, eax
jmp 0x10017155
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10017432
mov ah, 0x74
mov byte [esp + 0x4d], 0
mov al, 0x1a
mov byte [esp + 0x48], ah
xor al, ah
mov word [esp + 0x4d], 0x100
mov cl, 0x15
mov byte [esp + 0x49], al
xor cl, ah
mov dl, 0x19
xor dl, ah
mov byte [esp + 0x4a], cl
mov bl, 0x11
mov byte [esp + 0x4b], dl
xor bl, ah
lea ecx, [esp + 0x49]
mov eax, dword [edi]
push 0
mov byte [esp + 0x50], bl
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov dword [esp + 0x50], eax
mov cl, 0x38
mov al, 0x4a
mov byte [esp + 0x5b], 0
xor cl, al
mov byte [esp + 0x54], al
mov dl, 0x2f
mov byte [esp + 0x55], cl
mov ch, 0x39
mov word [esp + 0x5b], 0x100
xor ch, al
mov dh, 0x25
xor dl, al
mov byte [esp + 0x58], ch
xor dh, al
mov byte [esp + 0x56], dl
mov bl, 0x2b
mov byte [esp + 0x59], dh
xor bl, al
lea ecx, [esp + 0x55]
mov bh, 0x24
mov byte [esp + 0x57], bl
xor bh, al
mov eax, dword [edi]
push 0
mov byte [esp + 0x5e], bh
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov byte [esp + 0x2c], 0x5a
mov cl, 0x34
xor cl, byte [esp + 0x2c]
mov dl, 0x3f
mov dword [esp + 0x70], eax
mov bl, 0x2e
mov byte [esp + 0x2d], cl
mov ch, 0x2d
mov cl, byte [esp + 0x2c]
mov dh, 0x35
mov bh, 0x28
mov byte [esp + 0x17], 0x3e
mov al, 0x31
mov byte [esp + 0x36], 0
xor dl, cl
xor bl, cl
xor ch, cl
mov byte [esp + 0x2e], dl
xor dh, cl
mov byte [esp + 0x2f], bl
xor bh, cl
mov byte [esp + 0x30], ch
xor al, cl
mov byte [esp + 0x31], dh
mov ah, 0x33
mov byte [esp + 0x32], bh
mov byte [esp + 0x33], al
xor ah, cl
mov al, byte [esp + 0x17]
xor al, cl
mov byte [esp + 0x34], ah
mov byte [esp + 0x35], al
lea ecx, [esp + 0x2d]
mov eax, dword [edi]
push 0
mov word [esp + 0x3a], 0x100
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
cmp byte [0x1018ecc2], 0
mov esi, eax
je 0x100172ac
push esi
lea ecx, [esp + 0xdc]
call fcn.10008870
push 0x1017f9a0
lea ecx, [esp + 0xdc]
call fcn.10007ec0
lea ecx, [esp + 0xd8]
test al, al
jne 0x10016f3b
call fcn.10008530
mov eax, dword [0x1019917c]
xor ecx, ecx
movaps xmm0, xmmword [0x101836e0]
mov edx, dword [eax + 0x40]
movups xmmword [esp + 0xd8], xmm0
mov dword [esp + 0xe8], 0x27362127
mov dword [esp + 0xec], 0x4826
nop dword [eax + eax]
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0x15
jb 0x100172e0
lea eax, [esp + 0xd9]
mov word [esp + 0xee], 0x100
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0xff00ff00
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0xc
mov cl, 5
mov edx, dword [eax + 0x40]
xor eax, eax
mov dword [esp + 0x18], 0x666c4b05
mov dword [esp + 0x1c], 0x68646b6e
mov dword [esp + 0x20], 0x20253f60
mov dword [esp + 0x24], 0xf76
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10017358
mov cl, byte [esp + 0x18]
jmp 0x10017348
push dword [esp + 0x50]
lea eax, [esp + 0x1d]
mov word [esp + 0x2a], 0x100
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xff00ff00
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
mov cl, 0x19
mov edx, dword [eax + 0x40]
xor eax, eax
mov dword [esp + 0x18], 0x787c4b19
mov dword [esp + 0x1c], 0x2377766a
mov dword [esp + 0x20], 0x136a3c39
mov word [esp + 0x24], 0
nop dword [eax]
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xb
jae 0x100173c0
mov cl, byte [esp + 0x18]
jmp 0x100173b0
push dword [esp + 0x70]
lea eax, [esp + 0x1d]
mov word [esp + 0x28], 0x100
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xff00ff00
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
movaps xmm0, xmmword [str.8kL_YU]
xor ecx, ecx
mov edx, dword [eax + 0x40]
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xe
jb 0x10017401
push esi
lea eax, [esp + 0x1d]
mov word [esp + 0x2b], 0x100
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xff00ff00
push eax
push edx
call fcn.1000a9e0
add esp, 0x10
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 4]
call eax
mov ecx, eax
mov dword [esp + 0x78], 0x4a5d4b38
mov dl, 0x38
mov dword [esp + 0x7c], 0x674a5d4e
mov dword [esp + 0x80], 0x4a594e5b
xor eax, eax
mov word [esp + 0x84], 0
xor byte [esp + eax + 0x79], dl
inc eax
cmp eax, 0xb
jae 0x10017476
mov dl, byte [esp + 0x78]
jmp 0x10017466
mov word [esp + 0x84], 0x100
lea eax, [esp + 0x79]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x100174a4
test dl, dl
je 0x100174a0
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x100174a4
add ecx, 2
add eax, 2
test dl, dl
jne 0x10017484
xor eax, eax
jmp 0x100174a9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1001770f
mov byte [esp + 0x38], 9
mov al, 0x6a
xor al, byte [esp + 0x38]
mov dl, 0x68
mov byte [esp + 0x39], al
mov ah, 0x67
mov al, byte [esp + 0x38]
mov ch, dl
xor ah, al
mov byte [esp + 0x41], 0
xor ch, al
mov byte [esp + 0x3d], ah
mov cl, 0x7f
mov byte [esp + 0x3e], ch
xor cl, al
mov word [esp + 0x41], 0x100
mov dh, 0x64
mov byte [esp + 0x3a], cl
xor dl, al
lea ecx, [esp + 0x39]
xor dh, al
mov byte [esp + 0x3b], dl
mov bl, 0x7b
mov byte [esp + 0x3f], dh
xor bl, al
mov bh, 0x6c
xor bh, al
mov byte [esp + 0x3c], bl
mov eax, dword [edi]
push 0
mov byte [esp + 0x44], bh
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov dword [esp + 0x70], eax
mov cl, 0x1b
mov byte [esp + 0x2c], 0x78
mov al, 0x14
xor cl, byte [esp + 0x2c]
mov ah, 0xd
mov byte [esp + 0x2d], cl
mov dl, 0xe
mov cl, byte [esp + 0x2c]
mov bl, 0x19
xor al, cl
mov byte [esp + 0x17], 0x1d
mov byte [esp + 0x33], al
xor ah, cl
mov al, byte [esp + 0x17]
mov ch, 0xa
xor al, cl
mov byte [esp + 0x34], ah
xor ch, cl
mov byte [esp + 0x35], al
mov eax, dword [edi]
mov dh, dl
mov bh, bl
mov byte [esp + 0x30], ch
xor dl, cl
mov byte [esp + 0x36], 0
xor bl, cl
mov byte [esp + 0x2e], dl
xor dh, cl
mov byte [esp + 0x2f], bl
xor bh, cl
mov byte [esp + 0x31], dh
push 0
lea ecx, [esp + 0x31]
mov byte [esp + 0x36], bh
mov word [esp + 0x3a], 0x100
mov eax, dword [eax + 0x24]
push ecx
mov ecx, edi
call eax
mov ecx, dword [0x1019917c]
mov ebx, eax
movaps xmm0, xmmword [0x10183560]
mov esi, dword [ecx + 0x40]
movups xmmword [esp + 0xd8], xmm0
movaps xmm0, xmmword [0x10183590]
movups xmmword [esp + 0xe8], xmm0
mov word [esp + 0xf8], 0x79
xor ecx, ecx
mov byte [esp + 0xfa], 0
nop
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0x20
jb 0x100175d0
push 0xff
push 0xff
push 0xff
push 0
lea ecx, [esp + 0x60]
mov word [esp + 0x109], 0x100
call fcn.10009210
lea eax, [esp + 0xd9]
push eax
lea eax, [esp + 0x54]
push eax
push esi
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0xc
mov cl, 1
mov esi, dword [eax + 0x40]
xor eax, eax
mov dword [esp + 0x18], 0x73605701
mov dword [esp + 0x1c], 0x6c604f21
mov dword [esp + 0x20], 0x24213b64
mov dword [esp + 0x24], 0xb72
nop word [eax + eax]
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10017660
mov cl, byte [esp + 0x18]
jmp 0x10017650
push 0xff
push 0xff
push 0xff
push 0
lea ecx, [esp + 0x60]
mov word [esp + 0x36], 0x100
call fcn.10009210
push dword [esp + 0x70]
lea eax, [esp + 0x1d]
push eax
lea eax, [esp + 0x58]
push eax
push esi
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
movaps xmm0, xmmword [0x10183ed0]
xor ecx, ecx
mov esi, dword [eax + 0x40]
movups xmmword [esp + 0xd8], xmm0
mov word [esp + 0xe8], 0
nop dword [eax + eax]
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0xf
jb 0x100176c0
push 0xff
push 0xff
push 0xff
push 0
lea ecx, [esp + 0x60]
mov word [esp + 0xf8], 0x100
call fcn.10009210
push ebx
lea eax, [esp + 0xdd]
push eax
lea eax, [esp + 0x58]
push eax
push esi
call fcn.1000a9e0
add esp, 0x10
mov cl, 0x64
mov dword [esp + 0x88], 0x16011764
mov dword [esp + 0x8c], 0x3b160112
xor eax, eax
mov dword [esp + 0x90], 0x6000005
mov dword [esp + 0x94], 0xa05
nop
xor byte [esp + eax + 0x89], cl
inc eax
cmp eax, 0xd
jae 0x10017756
mov cl, byte [esp + 0x88]
jmp 0x10017740
mov eax, dword [edi]
lea esi, [esp + 0x89]
mov ecx, edi
mov word [esp + 0x96], 0x100
mov eax, dword [eax + 4]
call eax
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10017790
test cl, cl
je 0x1001778c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10017790
add eax, 2
add esi, 2
test cl, cl
jne 0x10017770
xor eax, eax
jmp 0x10017795
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10017ca2
mov ah, 0x28
mov byte [esp + 0x59], 0
mov al, 0x46
mov byte [esp + 0x54], ah
xor al, ah
mov word [esp + 0x59], 0x100
mov cl, 0x49
mov byte [esp + 0x55], al
xor cl, ah
mov dl, 0x45
xor dl, ah
mov byte [esp + 0x56], cl
mov bl, 0x4d
mov byte [esp + 0x57], dl
xor bl, ah
lea ecx, [esp + 0x55]
mov eax, dword [edi]
push 0
mov byte [esp + 0x5c], bl
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov esi, eax
mov byte [esp + 0x3f], 0
mov al, 0x32
mov word [esp + 0x3f], 0x100
mov cl, 0x47
mov byte [esp + 0x38], al
xor cl, al
mov dl, 0x41
mov ch, 0x40
mov byte [esp + 0x39], cl
xor ch, al
mov dh, 0x5b
xor dl, al
mov byte [esp + 0x3c], ch
xor dh, al
mov byte [esp + 0x3a], dl
mov bl, 0x57
mov byte [esp + 0x3d], dh
xor bl, al
lea ecx, [esp + 0x39]
mov bh, 0x56
mov byte [esp + 0x3b], bl
xor bh, al
mov eax, dword [edi]
push 0
mov byte [esp + 0x42], bh
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov byte [esp + 0x18], 0x1c
mov cl, 0x72
xor cl, byte [esp + 0x18]
mov dl, 0x79
mov dword [esp + 0x50], eax
mov bl, 0x68
mov byte [esp + 0x19], cl
mov ch, 0x6b
mov cl, byte [esp + 0x18]
mov dh, 0x73
mov bh, 0x6e
mov byte [esp + 0x17], 0x78
mov al, 0x77
mov byte [esp + 0x22], 0
xor dl, cl
xor bl, cl
xor ch, cl
mov byte [esp + 0x1a], dl
xor dh, cl
mov byte [esp + 0x1b], bl
xor bh, cl
mov byte [esp + 0x1c], ch
xor al, cl
mov byte [esp + 0x1d], dh
mov ah, 0x75
mov byte [esp + 0x1e], bh
mov byte [esp + 0x1f], al
xor ah, cl
mov al, byte [esp + 0x17]
xor al, cl
mov byte [esp + 0x20], ah
mov byte [esp + 0x21], al
lea ecx, [esp + 0x19]
mov eax, dword [edi]
push 0
mov word [esp + 0x26], 0x100
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov dword [esp + 0x70], eax
mov cl, 0x24
mov al, 0x4d
mov byte [esp + 0x67], 0
xor cl, al
mov byte [esp + 0x64], al
mov dl, 0x3d
mov byte [esp + 0x65], cl
xor dl, al
mov word [esp + 0x67], 0x100
mov eax, dword [edi]
lea ecx, [esp + 0x65]
push 0
mov byte [esp + 0x6a], dl
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov dword [esp + 0x98], eax
mov cl, 0x6a
mov byte [esp + 0x2c], 0xe
mov al, 0x61
xor cl, byte [esp + 0x2c]
mov ah, 0x60
mov byte [esp + 0x2d], cl
mov ch, 0x6f
mov cl, byte [esp + 0x2c]
mov dl, 0x7b
xor al, cl
mov byte [esp + 0x35], 0
xor ah, cl
mov byte [esp + 0x33], al
xor ch, cl
mov byte [esp + 0x34], ah
mov eax, dword [edi]
mov dh, 0x7a
xor dl, cl
mov byte [esp + 0x30], ch
xor dh, cl
mov byte [esp + 0x2e], dl
mov bl, 0x7c
mov byte [esp + 0x31], dh
xor bl, cl
mov word [esp + 0x35], 0x100
mov bh, 0x67
mov byte [esp + 0x2f], bl
xor bh, cl
lea ecx, [esp + 0x2d]
push 0
mov byte [esp + 0x36], bh
mov eax, dword [eax + 0x24]
push ecx
mov ecx, edi
call eax
mov dword [esp + 0x74], eax
mov cl, 0x14
mov al, 0x76
mov byte [esp + 0x4b], 0
xor cl, al
mov byte [esp + 0x48], al
mov dl, 0xf
mov byte [esp + 0x49], cl
xor dl, al
mov word [esp + 0x4b], 0x100
mov eax, dword [edi]
lea ecx, [esp + 0x49]
mov byte [esp + 0x4a], dl
push 0
mov eax, dword [eax + 0x24]
push ecx
mov ecx, edi
call eax
mov ecx, dword [0x1019917c]
movaps xmm0, xmmword [0x10183810]
mov dword [esp + 0x6c], eax
mov edx, dword [ecx + 0x40]
xor ecx, ecx
movups xmmword [esp + 0xd8], xmm0
mov dword [esp + 0xe8], 0x2f3d1678
mov dword [esp + 0xec], 0x36391a78
mov word [esp + 0xf0], 0x52
mov byte [esp + 0xf2], 0
nop dword [eax]
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0x18
jb 0x100179d0
lea eax, [esp + 0xd9]
mov word [esp + 0xf1], 0x100
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0xff0000ff
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0xc
movaps xmm0, xmmword [0x10183380]
xor ecx, ecx
mov edx, dword [eax + 0x40]
movups xmmword [esp + 0xd8], xmm0
mov byte [esp + 0xe8], 0
nop dword [eax]
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0xe
jb 0x10017a30
push esi
lea eax, [esp + 0xdd]
mov word [esp + 0xeb], 0x100
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xff0000ff
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
mov cl, 0x39
mov edx, dword [eax + 0x40]
xor eax, eax
mov dword [esp + 0x54], 0x5c4a6c39
mov dword [esp + 0x58], 0x37d704b
mov dword [esp + 0x5c], 0x334a1c19
mov word [esp + 0x60], 0
xor byte [esp + eax + 0x55], cl
inc eax
cmp eax, 0xb
jae 0x10017aa8
mov cl, byte [esp + 0x54]
jmp 0x10017a98
push dword [esp + 0x50]
lea eax, [esp + 0x59]
mov word [esp + 0x64], 0x100
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xff0000ff
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
mov cl, 0x51
mov edx, dword [eax + 0x40]
xor eax, eax
mov dword [esp + 0x38], 0x34250251
mov dword [esp + 0x3c], 0x15183c30
mov dword [esp + 0x40], 0x2274716b
mov word [esp + 0x44], 0x5b
mov byte [esp + 0x46], 0
nop
xor byte [esp + eax + 0x39], cl
inc eax
cmp eax, 0xc
jae 0x10017b10
mov cl, byte [esp + 0x38]
jmp 0x10017b00
push dword [esp + 0x70]
lea eax, [esp + 0x3d]
mov word [esp + 0x49], 0x100
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xff0000ff
push eax
push edx
call fcn.1000a9e0
mov eax, dword [0x1019917c]
mov bh, 0x21
push dword [esp + 0xa8]
mov cl, 0x71
mov dl, 0x1b
mov ch, 0x52
mov dh, 0x2b
mov esi, dword [eax + 0x40]
mov bl, 1
mov al, 0x68
mov byte [esp + 0x54], 0
mov ah, 4
mov byte [esp + 0x4c], bh
xor al, bh
mov word [esp + 0x54], 0x100
xor ah, bh
mov byte [esp + 0x4d], al
mov byte [esp + 0x51], ah
xor cl, bh
lea eax, [esp + 0x4d]
mov byte [esp + 0x4e], cl
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0xff0000ff
push eax
xor dl, bh
xor ch, bh
xor dh, bh
mov byte [esp + 0x57], dl
xor bl, bh
mov byte [esp + 0x5a], ch
push esi
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5f], dh
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x20
movaps xmm0, xmmword [0x10183f50]
xor ecx, ecx
mov esi, dword [eax + 0x40]
movups xmmword [esp + 0xd8], xmm0
mov word [esp + 0xe8], 0
nop word [eax + eax]
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0xf
jb 0x10017bd0
push 0xff
push 0
push 0
push 0xff
lea ecx, [esp + 0xa8]
mov word [esp + 0xf8], 0x100
call fcn.10009210
push dword [esp + 0x74]
lea eax, [esp + 0xdd]
push eax
lea eax, [esp + 0xa0]
push eax
push esi
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
movaps xmm0, xmmword [0x10183e60]
xor ecx, ecx
mov esi, dword [eax + 0x40]
movups xmmword [esp + 0xd8], xmm0
mov word [esp + 0xe8], 0
nop dword [eax + eax]
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0xf
jb 0x10017c50
push 0xff
push 0
push 0
push 0xff
lea ecx, [esp + 0x84]
mov word [esp + 0xf8], 0x100
call fcn.10009210
push dword [esp + 0x6c]
lea eax, [esp + 0xdd]
push eax
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.1000a9e0
add esp, 0x10
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 4]
call eax
movaps xmm0, xmmword [0x101834e0]
mov edx, eax
movups xmmword [esp + 0xb0], xmm0
mov word [esp + 0xc0], 0x1d
xor ecx, ecx
mov byte [esp + 0xc2], 0
mov al, byte [esp + 0xb0]
xor byte [esp + ecx + 0xb1], al
inc ecx
cmp ecx, 0x10
jb 0x10017cd0
mov word [esp + 0xc1], 0x100
lea eax, [esp + 0xb1]
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x10017d15
test cl, cl
je 0x10017d11
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x10017d15
add edx, 2
add eax, 2
test cl, cl
jne 0x10017cf5
xor eax, eax
jmp 0x10017d1a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10017ffc
mov byte [esp + 0x2c], 0xc
mov al, 0x62
xor al, byte [esp + 0x2c]
mov cl, 0x69
mov byte [esp + 0x2d], al
mov dl, 0x78
mov al, byte [esp + 0x2c]
mov ah, 0x63
xor cl, al
mov byte [esp + 0x17], 0x68
xor dl, al
mov byte [esp + 0x2e], cl
xor ah, al
mov byte [esp + 0x36], 0
mov ch, 0x7e
mov byte [esp + 0x31], ah
xor ch, al
mov byte [esp + 0x2f], dl
mov dh, 0x67
mov byte [esp + 0x32], ch
xor dh, al
mov word [esp + 0x36], 0x100
mov bl, 0x7b
mov byte [esp + 0x33], dh
xor bl, al
lea ecx, [esp + 0x2d]
mov bh, 0x65
mov byte [esp + 0x30], bl
xor bh, al
mov al, byte [esp + 0x17]
xor al, byte [esp + 0x2c]
mov byte [esp + 0x35], al
mov eax, dword [edi]
push 0
mov byte [esp + 0x38], bh
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov ebx, eax
mov byte [esp + 0x4b], 0
mov al, 0x46
mov word [esp + 0x4b], 0x100
mov cl, 0x2f
mov byte [esp + 0x48], al
xor cl, al
mov dl, 0x36
xor dl, al
mov byte [esp + 0x49], cl
mov eax, dword [edi]
lea ecx, [esp + 0x49]
push 0
mov byte [esp + 0x4e], dl
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov dword [esp + 0x74], eax
mov cl, 0x5f
mov al, 0x3d
mov byte [esp + 0x67], 0
xor cl, al
mov byte [esp + 0x64], al
mov dl, 0x44
mov byte [esp + 0x65], cl
xor dl, al
mov word [esp + 0x67], 0x100
mov eax, dword [edi]
lea ecx, [esp + 0x65]
push 0
mov byte [esp + 0x6a], dl
push ecx
mov eax, dword [eax + 0x24]
mov ecx, edi
call eax
mov ecx, dword [0x1019917c]
mov edi, eax
movaps xmm0, xmmword [str.bh1_a]
mov esi, dword [ecx + 0x40]
movups xmmword [esp + 0xd8], xmm0
mov dword [esp + 0xe8], 0x20420342
mov dword [esp + 0xec], 0x680c03
xor ecx, ecx
mov byte [esp + 0xf0], 0
nop
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0x16
jb 0x10017e40
push 0xff
push 0
push 0
push 0xff
lea ecx, [esp + 0x7c]
mov word [esp + 0xff], 0x100
call fcn.10009210
lea eax, [esp + 0xd9]
push eax
lea eax, [esp + 0x70]
push eax
push esi
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0xc
mov cl, 0x49
mov esi, dword [eax + 0x40]
xor eax, eax
mov dword [esp + 0x18], 0x2c3d1a49
mov dword [esp + 0x1c], 0xd002428
mov dword [esp + 0x20], 0x3a6c6973
mov word [esp + 0x24], 0x43
mov byte [esp + 0x26], 0
nop dword [eax + eax]
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xc
jae 0x10017ed0
mov cl, byte [esp + 0x18]
jmp 0x10017ec0
push 0xff
push 0
push 0
push 0xff
lea ecx, [esp + 0x7c]
mov word [esp + 0x35], 0x100
call fcn.10009210
push ebx
lea eax, [esp + 0x1d]
push eax
lea eax, [esp + 0x74]
push eax
push esi
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
mov bh, 0x39
mov cl, 0x69
mov ch, 0x4a
xor cl, bh
xor ch, bh
mov dl, 3
mov esi, dword [eax + 0x40]
mov dh, 0x33
push 0xff
push 0
mov al, 0x70
mov byte [esp + 0x42], cl
mov ah, 0x1c
mov byte [esp + 0x46], ch
mov bl, 0x19
mov byte [esp + 0x48], 0
push 0
xor al, bh
mov byte [esp + 0x44], bh
xor dl, bh
mov byte [esp + 0x45], al
xor ah, bh
mov byte [esp + 0x47], dl
xor dh, bh
mov byte [esp + 0x49], ah
xor bl, bh
mov byte [esp + 0x4b], dh
push 0xff
lea ecx, [esp + 0x7c]
mov byte [esp + 0x4c], bl
mov word [esp + 0x50], 0x100
call fcn.10009210
push dword [esp + 0x74]
lea eax, [esp + 0x3d]
push eax
lea eax, [esp + 0x74]
push eax
push esi
call fcn.1000a9e0
mov eax, dword [0x1019917c]
add esp, 0x10
movaps xmm0, xmmword [0x10184200]
xor ecx, ecx
mov esi, dword [eax + 0x40]
movups xmmword [esp + 0xd8], xmm0
mov word [esp + 0xe8], 0x7d
mov byte [esp + 0xea], 0
nop dword [eax]
mov al, byte [esp + 0xd8]
xor byte [esp + ecx + 0xd9], al
inc ecx
cmp ecx, 0x10
jb 0x10017fb0
push 0xff
push 0
push 0
push 0xff
lea ecx, [esp + 0x7c]
mov word [esp + 0xf9], 0x100
call fcn.10009210
push edi
lea eax, [esp + 0xdd]
push eax
lea eax, [esp + 0x74]
push eax
push esi
call fcn.1000a9e0
add esp, 0x10
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1013ad45
mov esp, ebp
pop ebp
ret