Function at 0x10022680
Capabilities:
Check os version
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c1a42
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2b0
mov eax, dword [0x100ef0f8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x290], edi
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x298], edi
mov dword [ebp - 0x294], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
push 0x98
lea eax, [ebp - 0x164]
mov dword [ebp - 4], 0
push 0
push eax
mov dword [ebp - 0x294], 1
call fcn.1009c590
add esp, 0xc
mov dword [ebp - 0x168], 0x9c
lea eax, [ebp - 0x168]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0
push eax
push 0x64
push 0
call dword [sym.imp.NETAPI32.dll_NetWkstaGetInfo]
test eax, eax
jne 0x1002276e
mov eax, dword [ebp - 0xa0]
push eax
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x10]
call dword [sym.imp.NETAPI32.dll_NetApiBufferFree]
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x160], edi
jmp 0x100227e3
cmp dword [ebp - 0x164], 6
jne 0x100227e9
cmp dword [ebp - 0x160], 2
jne 0x100227e9
push 1
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
push 0x11c
mov edi, eax
mov esi, edx
lea eax, [ebp - 0x288]
push 0
push eax
call fcn.1009c590
add esp, 0xc
mov dword [ebp - 0x288], 0x11c
lea eax, [ebp - 0x288]
mov dword [ebp - 0x280], 3
push esi
push edi
push 1
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
mov ecx, dword [ebp - 0x160]
test eax, eax
mov edx, 3
cmovne ecx, edx
mov dword [ebp - 0x160], ecx
mov edi, dword [ebp - 0x290]
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100f29c4]
mov dword [ebp - 0xa0], 0x2e414840
mov esi, dword [eax + ecx*4]
mov eax, dword [0x101010bc]
cmp eax, dword [esi + 4]
jle 0x10022858
push 0x101010bc
call fcn.10084984
add esp, 4
cmp dword [0x101010bc], 0xffffffff
jne 0x10022858
movaps xmm0, xmmword [0x100e6700]
mov eax, dword [ebp - 0xa0]
push 0x100c3820
movups xmmword [0x10101110], xmm0
mov dword [0x10101120], eax
call fcn.10084d5f
add esp, 4
push 0x101010bc
call fcn.1008493a
add esp, 4
cmp byte [0x10101123], 0
je 0x1002288d
movups xmm0, xmmword [0x10101110]
mov eax, 0x10
movaps xmm1, xmmword [0x100e64a0]
pxor xmm1, xmm0
movups xmmword [0x10101110], xmm1
nop
xor byte [eax + 0x10101110], 0x2e
inc eax
cmp eax, 0x14
jb 0x10022880
mov eax, dword [0x10101090]
mov dword [ebp - 0xa8], 0x405c4b45
mov dword [ebp - 0xa4], 0x1c1d424b
mov dword [ebp - 0xa0], 0x42424a00
mov byte [ebp - 0x289], 0x2e
cmp eax, dword [esi + 4]
jle 0x10022915
push 0x10101090
call fcn.10084984
add esp, 4
cmp dword [0x10101090], 0xffffffff
jne 0x10022915
mov eax, dword [ebp - 0xa0]
movq xmm0, qword [ebp - 0xa8]
mov dword [0x1010115c], eax
mov al, byte [ebp - 0x289]
push 0x100c3840
movq qword [0x10101154], xmm0
mov byte [0x10101160], al
call fcn.10084d5f
add esp, 4
push 0x10101090
call fcn.1008493a
add esp, 4
cmp byte [0x10101160], 0
je 0x1002292d
xor eax, eax
xor byte [eax + 0x10101154], 0x2e
inc eax
cmp eax, 0xd
jb 0x10022920
push 0x10101110
push 0x10101154
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
lea ecx, [ebp - 0x2bc]
push ecx
cmove eax, dword [sym.imp.KERNEL32.dll_GetSystemInfo]
call eax
mov eax, dword [ebp - 0x164]
cmp eax, 0xa
jne 0x10022b11
cmp byte [ebp - 0xce], 1
je 0x10022a47
mov eax, dword [0x10101064]
mov word [ebp - 0x9c], 0x2e5c
cmp eax, dword [esi + 4]
jle 0x100229d3
push 0x10101064
call fcn.10084984
add esp, 4
cmp dword [0x10101064], 0xffffffff
jne 0x100229d3
movaps xmm0, xmmword [0x100e6600]
mov ax, word [ebp - 0x9c]
push 0x100c3800
movups xmmword [0x101010f0], xmm0
mov word [0x10101100], ax
call fcn.10084d5f
add esp, 4
push 0x10101064
call fcn.1008493a
add esp, 4
cmp byte [0x10101101], 0
je 0x10022a0d
movups xmm0, xmmword [0x101010f0]
mov eax, 0x10
movaps xmm1, xmmword [0x100e64a0]
pxor xmm1, xmm0
movups xmmword [0x101010f0], xmm1
nop word [eax + eax]
xor byte [eax + 0x101010f0], 0x2e
inc eax
cmp eax, 0x12
jb 0x10022a00
mov ecx, 0x101010f0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022a15
sub ecx, edx
push ecx
push 0x101010f0
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 0xa
jne 0x10022b11
cmp byte [ebp - 0xce], 1
jne 0x10023716
mov eax, dword [0x101011a8]
mov dword [ebp - 0xa4], 0x4a404779
mov dword [ebp - 0xa0], 0xe5d5941
mov word [ebp - 0x9c], 0x1e1f
mov byte [ebp - 0x289], 0x2e
cmp eax, dword [esi + 4]
jle 0x10022ad0
push 0x101011a8
call fcn.10084984
add esp, 4
cmp dword [0x101011a8], 0xffffffff
jne 0x10022ad0
mov ax, word [ebp - 0x9c]
movq xmm0, qword [ebp - 0xa4]
mov word [0x10101140], ax
mov al, byte [ebp - 0x289]
push 0x100c37e0
movq qword [0x10101138], xmm0
mov byte [0x10101142], al
call fcn.10084d5f
add esp, 4
push 0x101011a8
call fcn.1008493a
add esp, 4
cmp byte [0x10101142], 0
je 0x10022aed
xor eax, eax
nop dword [eax + eax]
xor byte [eax + 0x10101138], 0x2e
inc eax
cmp eax, 0xb
jb 0x10022ae0
mov ecx, 0x10101138
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022af5
sub ecx, edx
push ecx
push 0x10101138
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 6
jne 0x100232a1
mov eax, dword [ebp - 0x160]
cmp eax, 3
jne 0x10022cf0
cmp byte [ebp - 0xce], 1
je 0x10022c29
movaps xmm0, xmmword [str.yG_JAY_]
mov eax, dword [0x10101144]
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0xa0], 0xe1c1f1e
mov word [ebp - 0x9c], 0x1c7c
mov byte [ebp - 0x9a], 0x2e
cmp eax, dword [esi + 4]
jle 0x10022bac
push 0x10101144
call fcn.10084984
add esp, 4
cmp dword [0x10101144], 0xffffffff
jne 0x10022bac
lea eax, [ebp - 0xb0]
mov ecx, 0x101010d4
push eax
call fcn.1001aeb0
push 0x100c37b0
call fcn.10084d5f
add esp, 4
push 0x10101144
call fcn.1008493a
add esp, 4
cmp byte [0x101010ea], 0
je 0x10022be0
movups xmm0, xmmword [0x101010d4]
mov eax, 0x10
movaps xmm1, xmmword [0x100e64a0]
pxor xmm1, xmm0
movups xmmword [0x101010d4], xmm1
xor byte [eax + 0x101010d4], 0x2e
inc eax
cmp eax, 0x17
jb 0x10022bd3
mov ecx, 0x101010d4
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022be8
sub ecx, edx
push ecx
push 0x101010d4
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 6
jne 0x100232a1
mov eax, dword [ebp - 0x160]
cmp eax, 3
jne 0x10022cf0
cmp byte [ebp - 0xce], 1
jne 0x10023716
mov eax, dword [0x10101094]
mov dword [ebp - 0xa8], 0x4a404779
mov dword [ebp - 0xa4], 0xe5d5941
mov dword [ebp - 0xa0], 0x2e1f0016
cmp eax, dword [esi + 4]
jle 0x10022c9f
push 0x10101094
call fcn.10084984
add esp, 4
cmp dword [0x10101094], 0xffffffff
jne 0x10022c9f
movq xmm0, qword [ebp - 0xa8]
mov eax, dword [ebp - 0xa0]
push 0x100c3790
movq qword [0x10101044], xmm0
mov dword [0x1010104c], eax
call fcn.10084d5f
add esp, 4
push 0x10101094
call fcn.1008493a
add esp, 4
cmp byte [0x1010104f], 0
je 0x10022cbd
xor eax, eax
nop word [eax + eax]
xor byte [eax + 0x10101044], 0x2e
inc eax
cmp eax, 0xc
jb 0x10022cb0
mov ecx, 0x10101044
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022cc5
sub ecx, edx
push ecx
push 0x10101044
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 6
jne 0x100232a1
mov eax, dword [ebp - 0x160]
cmp eax, 2
jne 0x10022edf
cmp byte [ebp - 0xce], 1
je 0x10022de6
mov eax, dword [0x101010b8]
mov dword [ebp - 0xa0], 0x2e1c1f1e
cmp eax, dword [esi + 4]
jle 0x10022d66
push 0x101010b8
call fcn.10084984
add esp, 4
cmp dword [0x101010b8], 0xffffffff
jne 0x10022d66
movaps xmm0, xmmword [str.yG_JAY_]
mov eax, dword [ebp - 0xa0]
push 0x100c3770
movups xmmword [0x10101180], xmm0
mov dword [0x10101190], eax
call fcn.10084d5f
add esp, 4
push 0x101010b8
call fcn.1008493a
add esp, 4
cmp byte [0x10101193], 0
je 0x10022d9d
movups xmm0, xmmword [0x10101180]
mov eax, 0x10
movaps xmm1, xmmword [0x100e64a0]
pxor xmm1, xmm0
movups xmmword [0x10101180], xmm1
nop dword [eax]
xor byte [eax + 0x10101180], 0x2e
inc eax
cmp eax, 0x14
jb 0x10022d90
mov ecx, 0x10101180
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022da5
sub ecx, edx
push ecx
push 0x10101180
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 6
jne 0x100232a1
mov eax, dword [ebp - 0x160]
cmp eax, 2
jne 0x10022edf
cmp byte [ebp - 0xce], 1
jne 0x10023716
mov eax, dword [0x101010ec]
mov dword [ebp - 0xa4], 0x4a404779
mov dword [ebp - 0xa0], 0xe5d5941
mov word [ebp - 0x9c], 0x2e16
cmp eax, dword [esi + 4]
jle 0x10022e5d
push 0x101010ec
call fcn.10084984
add esp, 4
cmp dword [0x101010ec], 0xffffffff
jne 0x10022e5d
movq xmm0, qword [ebp - 0xa4]
mov ax, word [ebp - 0x9c]
push 0x100c3750
movq qword [0x10101104], xmm0
mov word [0x1010110c], ax
call fcn.10084d5f
add esp, 4
push 0x101010ec
call fcn.1008493a
add esp, 4
mov al, byte [0x1010110d]
test al, al
je 0x10022eac
xor byte [0x10101104], 0x2e
xor byte [0x10101105], 0x2e
xor byte [0x10101106], 0x2e
xor byte [0x10101107], 0x2e
xor byte [0x10101108], 0x2e
xor byte [0x10101109], 0x2e
xor byte [0x1010110a], 0x2e
xor byte [0x1010110b], 0x2e
xor byte [0x1010110c], 0x2e
xor al, 0x2e
mov byte [0x1010110d], al
mov ecx, 0x10101104
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022eb4
sub ecx, edx
push ecx
push 0x10101104
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 6
jne 0x100232a1
mov eax, dword [ebp - 0x160]
cmp eax, 1
jne 0x100230df
cmp byte [ebp - 0xce], al
je 0x10022fe6
movaps xmm0, xmmword [str.yG_JAY_]
mov eax, dword [0x10101084]
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0xa0], 0xe161e1e
mov word [ebp - 0x9c], 0x1c7c
mov byte [ebp - 0x9a], 0x2e
cmp eax, dword [esi + 4]
jle 0x10022f6a
push 0x10101084
call fcn.10084984
add esp, 4
cmp dword [0x10101084], 0xffffffff
jne 0x10022f6a
lea eax, [ebp - 0xb0]
mov ecx, 0x101010a0
push eax
call fcn.1001aeb0
push 0x100c3720
call fcn.10084d5f
add esp, 4
push 0x10101084
call fcn.1008493a
add esp, 4
cmp byte [0x101010b6], 0
je 0x10022f9e
movups xmm0, xmmword [0x101010a0]
mov eax, 0x10
movaps xmm1, xmmword [0x100e64a0]
pxor xmm1, xmm0
movups xmmword [0x101010a0], xmm1
xor byte [eax + 0x101010a0], 0x2e
inc eax
cmp eax, 0x17
jb 0x10022f91
mov ecx, 0x101010a0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022fa6
sub ecx, edx
push ecx
push 0x101010a0
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 6
jne 0x100232a1
mov eax, dword [ebp - 0x160]
cmp eax, 1
jne 0x100230df
cmp byte [ebp - 0xce], al
jne 0x10023716
mov eax, dword [0x101011a4]
mov dword [ebp - 0xa4], 0x4a404779
mov dword [ebp - 0xa0], 0xe5d5941
mov word [ebp - 0x9c], 0x2e19
cmp eax, dword [esi + 4]
jle 0x1002305d
push 0x101011a4
call fcn.10084984
add esp, 4
cmp dword [0x101011a4], 0xffffffff
jne 0x1002305d
movq xmm0, qword [ebp - 0xa4]
mov ax, word [ebp - 0x9c]
push 0x100c3700
movq qword [0x10101148], xmm0
mov word [0x10101150], ax
call fcn.10084d5f
add esp, 4
push 0x101011a4
call fcn.1008493a
add esp, 4
mov al, byte [0x10101151]
test al, al
je 0x100230ac
xor byte [0x10101148], 0x2e
xor byte [0x10101149], 0x2e
xor byte [0x1010114a], 0x2e
xor byte [0x1010114b], 0x2e
xor byte [0x1010114c], 0x2e
xor byte [0x1010114d], 0x2e
xor byte [0x1010114e], 0x2e
xor byte [0x1010114f], 0x2e
xor byte [0x10101150], 0x2e
xor al, 0x2e
mov byte [0x10101151], al
mov ecx, 0x10101148
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100230b4
sub ecx, edx
push ecx
push 0x10101148
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 6
jne 0x100232a1
mov eax, dword [ebp - 0x160]
test eax, eax
jne 0x10023716
cmp byte [ebp - 0xce], 1
je 0x100231d4
mov eax, dword [0x1010105c]
mov dword [ebp - 0xa0], 0x2e161e1e
cmp eax, dword [esi + 4]
jle 0x10023154
push 0x1010105c
call fcn.10084984
add esp, 4
cmp dword [0x1010105c], 0xffffffff
jne 0x10023154
movaps xmm0, xmmword [str.yG_JAY_]
mov eax, dword [ebp - 0xa0]
push 0x100c36e0
movups xmmword [0x101010c0], xmm0
mov dword [0x101010d0], eax
call fcn.10084d5f
add esp, 4
push 0x1010105c
call fcn.1008493a
add esp, 4
cmp byte [0x101010d3], 0
je 0x1002318d
movups xmm0, xmmword [0x101010c0]
mov eax, 0x10
movaps xmm1, xmmword [0x100e64a0]
pxor xmm1, xmm0
movups xmmword [0x101010c0], xmm1
nop dword [eax + eax]
xor byte [eax + 0x101010c0], 0x2e
inc eax
cmp eax, 0x14
jb 0x10023180
mov ecx, 0x101010c0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023195
sub ecx, edx
push ecx
push 0x101010c0
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 6
jne 0x100232a1
cmp dword [ebp - 0x160], 0
jne 0x10023716
cmp byte [ebp - 0xce], 1
jne 0x10023716
mov eax, dword [0x10101098]
mov dword [ebp - 0xa8], 0x4a404779
mov dword [ebp - 0xa4], 0xe5d5941
mov dword [ebp - 0xa0], 0x5a5d4778
mov word [ebp - 0x9c], 0x2e4f
cmp eax, dword [esi + 4]
jle 0x10023260
push 0x10101098
call fcn.10084984
add esp, 4
cmp dword [0x10101098], 0xffffffff
jne 0x10023260
mov eax, dword [ebp - 0xa0]
movq xmm0, qword [ebp - 0xa8]
mov dword [0x1010119c], eax
mov ax, word [ebp - 0x9c]
push 0x100c36c0
movq qword [0x10101194], xmm0
mov word [0x101011a0], ax
call fcn.10084d5f
add esp, 4
push 0x10101098
call fcn.1008493a
add esp, 4
cmp byte [0x101011a1], 0
je 0x1002327d
xor eax, eax
nop dword [eax + eax]
xor byte [eax + 0x10101194], 0x2e
inc eax
cmp eax, 0xe
jb 0x10023270
mov ecx, 0x10101194
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023285
sub ecx, edx
push ecx
push 0x10101194
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 5
jne 0x10023644
mov eax, dword [ebp - 0x160]
cmp eax, 2
jne 0x10023490
cmp byte [ebp - 0xce], 1
jne 0x100233c9
cmp word [ebp - 0x2bc], 9
jne 0x100233c9
mov eax, dword [0x10101060]
mov dword [ebp - 0xa8], 0x4a404779
mov dword [ebp - 0xa4], 0xe5d5941
mov dword [ebp - 0xa0], 0x560e7e76
mov word [ebp - 0x9c], 0x1a18
mov byte [ebp - 0x289], 0x2e
cmp eax, dword [esi + 4]
jle 0x10023372
push 0x10101060
call fcn.10084984
add esp, 4
cmp dword [0x10101060], 0xffffffff
jne 0x10023372
mov eax, dword [ebp - 0xa0]
movq xmm0, qword [ebp - 0xa8]
mov dword [0x1010112c], eax
mov ax, word [ebp - 0x9c]
mov word [0x10101130], ax
mov al, byte [ebp - 0x289]
push 0x100c3690
movq qword [0x10101124], xmm0
mov byte [0x10101132], al
call fcn.10084d5f
add esp, 4
push 0x10101060
call fcn.1008493a
add esp, 4
cmp byte [0x10101132], 0
je 0x1002338d
xor eax, eax
nop dword [eax]
xor byte [eax + 0x10101124], 0x2e
inc eax
cmp eax, 0xf
jb 0x10023380
mov ecx, 0x10101124
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023395
sub ecx, edx
push ecx
push 0x10101124
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 5
jne 0x10023644
mov eax, dword [ebp - 0x160]
cmp eax, 2
jne 0x10023490
mov eax, dword [0x10101068]
mov dword [ebp - 0xa0], 0x2e1d1e1e
cmp eax, dword [esi + 4]
jle 0x10023429
push 0x10101068
call fcn.10084984
add esp, 4
cmp dword [0x10101068], 0xffffffff
jne 0x10023429
movaps xmm0, xmmword [str.yG_JAY_]
mov eax, dword [ebp - 0xa0]
push 0x100c3670
movups xmmword [0x1010116c], xmm0
mov dword [0x1010117c], eax
call fcn.10084d5f
add esp, 4
push 0x10101068
call fcn.1008493a
add esp, 4
cmp byte [0x1010117f], 0
je 0x1002345d
movups xmm0, xmmword [0x1010116c]
mov eax, 0x10
movaps xmm1, xmmword [0x100e64a0]
pxor xmm1, xmm0
movups xmmword [0x1010116c], xmm1
xor byte [eax + 0x1010116c], 0x2e
inc eax
cmp eax, 0x14
jb 0x10023450
mov ecx, 0x1010116c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023465
sub ecx, edx
push ecx
push 0x1010116c
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 5
jne 0x10023644
mov eax, dword [ebp - 0x160]
cmp eax, 1
jne 0x10023570
mov eax, dword [0x101011b0]
mov dword [ebp - 0xa4], 0x4a404779
mov dword [ebp - 0xa0], 0xe5d5941
mov word [ebp - 0x9c], 0x7e76
mov byte [ebp - 0x289], 0x2e
cmp eax, dword [esi + 4]
jle 0x10023522
push 0x101011b0
call fcn.10084984
add esp, 4
cmp dword [0x101011b0], 0xffffffff
jne 0x10023522
mov ax, word [ebp - 0x9c]
movq xmm0, qword [ebp - 0xa4]
mov word [0x10101058], ax
mov al, byte [ebp - 0x289]
push 0x100c3650
movq qword [0x10101050], xmm0
mov byte [0x1010105a], al
call fcn.10084d5f
add esp, 4
push 0x101011b0
call fcn.1008493a
add esp, 4
cmp byte [0x1010105a], 0
je 0x1002353d
xor eax, eax
nop dword [eax]
xor byte [eax + 0x10101050], 0x2e
inc eax
cmp eax, 0xb
jb 0x10023530
mov ecx, 0x10101050
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023545
sub ecx, edx
push ecx
push 0x10101050
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 5
jne 0x10023644
mov eax, dword [ebp - 0x160]
test eax, eax
jne 0x10023716
mov eax, dword [0x10101168]
mov dword [ebp - 0xa8], 0x4a404779
mov dword [ebp - 0xa4], 0xe5d5941
mov dword [ebp - 0xa0], 0x1e1e1e1c
mov byte [ebp - 0x289], 0x2e
cmp eax, dword [esi + 4]
jle 0x10023600
push 0x10101168
call fcn.10084984
add esp, 4
cmp dword [0x10101168], 0xffffffff
jne 0x10023600
mov eax, dword [ebp - 0xa0]
movq xmm0, qword [ebp - 0xa8]
mov dword [0x10101074], eax
mov al, byte [ebp - 0x289]
push 0x100c3630
movq qword [0x1010106c], xmm0
mov byte [0x10101078], al
call fcn.10084d5f
add esp, 4
push 0x10101168
call fcn.1008493a
add esp, 4
cmp byte [0x10101078], 0
je 0x1002361d
xor eax, eax
nop dword [eax + eax]
xor byte [eax + 0x1010106c], 0x2e
inc eax
cmp eax, 0xd
jb 0x10023610
mov ecx, 0x1010106c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023625
sub ecx, edx
push ecx
push 0x1010106c
mov ecx, edi
call fcn.1000ef90
mov eax, dword [ebp - 0x164]
cmp eax, 5
jae 0x10023716
mov eax, dword [0x10101164]
mov dword [ebp - 0xa4], 0x4045405b
mov dword [ebp - 0xa0], 0x2e405941
cmp eax, dword [esi + 4]
jle 0x100236b2
push 0x10101164
call fcn.10084984
add esp, 4
cmp dword [0x10101164], 0xffffffff
jne 0x100236b2
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
push 0x100c3620
mov dword [0x1010107c], eax
mov dword [0x10101080], ecx
call fcn.10084d5f
add esp, 4
push 0x10101164
call fcn.1008493a
add esp, 4
mov al, byte [0x10101083]
test al, al
je 0x100236f3
xor byte [0x1010107c], 0x2e
xor byte [0x1010107d], 0x2e
xor byte [0x1010107e], 0x2e
xor byte [0x1010107f], 0x2e
xor byte [0x10101080], 0x2e
xor byte [0x10101081], 0x2e
xor byte [0x10101082], 0x2e
xor al, 0x2e
mov byte [0x10101083], al
mov ecx, 0x1010107c
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023700
sub ecx, edx
push ecx
push 0x1010107c
mov ecx, edi
call fcn.1000ef90
cmp word [ebp - 0xd4], 0
je 0x10023a03
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
push 0x80
lea eax, [ebp - 0x98]
mov dword [ebp - 4], 1
push 0
push eax
call fcn.1009c590
mov eax, dword [0x10101088]
add esp, 0xc
mov dword [ebp - 0xa8], 0x5c4b7d0e
mov dword [ebp - 0xa4], 0x4b4d4758
mov dword [ebp - 0xa0], 0x4d4f7e0e
mov word [ebp - 0x9c], 0xe45
mov byte [ebp - 0x289], 0x2e
cmp eax, dword [esi + 4]
jle 0x100237fa
push 0x10101088
call fcn.10084984
add esp, 4
cmp dword [0x10101088], 0xffffffff
jne 0x100237fa
mov eax, dword [ebp - 0xa0]
movq xmm0, qword [ebp - 0xa8]
mov dword [0x1010103c], eax
mov ax, word [ebp - 0x9c]
mov word [0x10101040], ax
mov al, byte [ebp - 0x289]
push 0x100c35f0
movq qword [0x10101034], xmm0
mov byte [0x10101042], al
call fcn.10084d5f
add esp, 4
push 0x10101088
call fcn.1008493a
add esp, 4
cmp byte [0x10101042], 0
je 0x10023812
xor eax, eax
xor byte [eax + 0x10101034], 0x2e
inc eax
cmp eax, 0xf
jb 0x10023805
mov ecx, 0x10101034
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023820
sub ecx, edx
push ecx
push 0x10101034
lea ecx, [ebp - 0xc8]
call fcn.1000ef90
mov eax, dword [0x10101134]
mov dword [ebp - 0xa0], 0x2e4a460b
cmp eax, dword [esi + 4]
jle 0x1002388c
push 0x10101134
call fcn.10084984
add esp, 4
cmp dword [0x10101134], 0xffffffff
jne 0x1002388c
mov eax, dword [ebp - 0xa0]
push 0x100c35e0
mov dword [0x101011ac], eax
call fcn.10084d5f
add esp, 4
push 0x10101134
call fcn.1008493a
add esp, 4
mov al, byte [0x101011af]
test al, al
je 0x100238b1
xor byte [0x101011ac], 0x2e
xor byte [0x101011ad], 0x2e
xor byte [0x101011ae], 0x2e
xor al, 0x2e
mov byte [0x101011af], al
movzx eax, word [ebp - 0xd4]
push eax
push 0x101011ac
lea eax, [ebp - 0x98]
push 0x80
push eax
call fcn.10005400
lea edi, [ebp - 0x98]
add esp, 0x10
lea ecx, [edi + 1]
nop dword [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x100238e0
mov edx, dword [ebp - 0xb4]
sub edi, ecx
mov ecx, dword [ebp - 0xb8]
mov eax, edx
sub eax, ecx
push edi
cmp edi, eax
ja 0x1002392f
lea eax, [edi + ecx]
cmp edx, 0x10
mov dword [ebp - 0xb8], eax
lea esi, [ebp - 0xc8]
cmovae esi, dword [ebp - 0xc8]
lea eax, [ebp - 0x98]
add esi, ecx
push eax
push esi
call fcn.1009caa0
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x1002394f
lea eax, [ebp - 0x98]
mov byte [ebp - 0x9d], 0
push eax
push dword [ebp - 0x9d]
lea ecx, [ebp - 0xc8]
push edi
call fcn.100101d0
mov eax, dword [ebp - 0x290]
lea ecx, [ebp - 0xc8]
cmp dword [ebp - 0xb4], 0x10
mov edi, dword [ebp - 0xb8]
cmovae ecx, dword [ebp - 0xc8]
mov edx, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
mov eax, esi
sub eax, edx
mov dword [ebp - 0xa0], ecx
cmp edi, eax
ja 0x100239b2
mov ecx, dword [ebp - 0x290]
lea eax, [edx + edi]
mov dword [ecx + 0x10], eax
mov eax, ecx
mov ecx, dword [ebp - 0xa0]
cmp esi, 0x10
jb 0x1002399e
mov eax, dword [eax]
push edi
lea esi, [eax + edx]
push ecx
push esi
call fcn.1009caa0
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x100239cd
push edi
push ecx
mov ecx, dword [ebp - 0x290]
mov byte [ebp - 0x9d], 0
push dword [ebp - 0x9d]
push edi
call fcn.100101d0
mov edx, dword [ebp - 0xb4]
cmp edx, 0x10
jb 0x10023a03
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100239f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10023a27
push edx
push ecx
call fcn.10084da4
add esp, 8
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10084864
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.100a1549
int3