Function at 0x100351a0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ac47c
mov eax, dword fs:[0]
push eax
sub esp, 0x180
mov eax, dword [0x100d6084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x30]
mov dword [0x100df5b4], eax
test edi, edi
je 0x10036527
mov eax, dword [ebp + 0xc]
cmp eax, 1
je 0x100351fa
cmp eax, 4
je 0x100351fa
cmp eax, 0x100
jne 0x10036527
push 0x104
lea eax, [ebp - 0x114]
push 0
push eax
call fcn.10086a40
add esp, 0xc
mov dword [ebp - 0x134], 0xf
mov dword [ebp - 4], 0
mov eax, 0x100df8d0
cmp dword [0x100df8e4], 0x10
mov dword [ebp - 0x138], 0
cmovae eax, dword [0x100df8d0]
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 0x148], 0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov byte [ebp - 0x16c], 0x4a
mov al, 5
xor al, byte [ebp - 0x16c]
mov cl, 0x3a
xor cl, byte [ebp - 0x16c]
mov dh, 0x24
mov byte [ebp - 0x16b], al
mov ah, 0x23
mov byte [ebp - 0x16a], cl
mov dl, 0x3e
mov cl, byte [ebp - 0x16c]
mov ch, 0x25
mov byte [ebp - 0x14c], 0x64
xor dl, cl
mov al, byte [ebp - 0x14c]
xor ch, cl
xor al, cl
mov byte [ebp - 0x14b], 3
mov byte [ebp - 0x165], al
mov al, byte [ebp - 0x14b]
xor al, cl
mov byte [ebp - 0x14a], dh
mov byte [ebp - 0x164], al
xor dh, cl
mov al, byte [ebp - 0x14a]
xor al, cl
mov byte [ebp - 0x149], ah
mov byte [ebp - 0x163], al
xor ah, cl
mov al, byte [ebp - 0x149]
xor al, cl
mov byte [ebp - 0x168], ah
mov byte [ebp - 0x162], al
lea eax, [ebp - 0x16b]
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 0x161], 0
push eax
mov byte [ebp - 0x169], dl
mov byte [ebp - 0x167], ch
mov byte [ebp - 0x166], dh
mov byte [ebp - 0x161], 0
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
test eax, eax
je 0x10035451
cmp edi, eax
jne 0x10035451
xor edx, edx
lea ecx, [ebp - 0x18c]
cmp dword [0x100df944], 1
setne dl
cmp edx, 1
mov dword [0x100df944], edx
sete byte [0x100db467]
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003535b
mov esi, dword [esi]
mov byte [ebp - 0x16c], 0x75
mov al, 0x26
xor al, byte [ebp - 0x16c]
mov cl, 0x1e
xor cl, byte [ebp - 0x16c]
mov ah, 0x19
mov byte [ebp - 0x16b], al
mov ch, ah
mov byte [ebp - 0x16a], cl
mov dl, 0x1c
mov cl, byte [ebp - 0x16c]
mov dh, 0x34
mov byte [ebp - 0x149], 7
xor dl, cl
mov al, byte [ebp - 0x149]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14a], 0x10
mov byte [ebp - 0x165], al
xor ch, cl
mov al, byte [ebp - 0x14a]
xor dh, cl
xor al, cl
mov byte [ebp - 0x14b], 0x14
mov byte [ebp - 0x164], al
mov al, byte [ebp - 0x14b]
xor al, cl
mov byte [ebp - 0x162], 0
mov byte [ebp - 0x169], dl
mov cl, 0x66
mov byte [ebp - 0x168], ah
mov dl, 0x7c
mov byte [ebp - 0x167], ch
mov ah, 0x6c
mov byte [ebp - 0x163], al
mov ch, 0xf
mov byte [ebp - 0x162], 0
mov al, 0x42
mov byte [ebp - 0x166], dh
xor al, ch
mov byte [ebp - 0x14f], 0
xor cl, ch
mov byte [ebp - 0x153], al
xor dl, ch
mov byte [ebp - 0x154], ch
xor ah, ch
mov byte [ebp - 0x152], cl
mov byte [ebp - 0x150], ah
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x16b]
mov byte [ebp - 0x151], dl
push esi
push eax
mov byte [ebp - 0x14f], 0
lea eax, [ebp - 0x153]
jmp 0x100364f3
mov eax, dword [esi + 4]
test eax, eax
je 0x10035534
cmp edi, eax
jne 0x10035534
xor edx, edx
lea ecx, [ebp - 0x18c]
cmp dword [0x100df948], 1
setne dl
mov dword [0x100df948], edx
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003548b
mov esi, dword [esi]
mov cl, 0x43
mov dword [ebp - 0x170], 0x2d221143
mov dword [ebp - 0x16c], 0x242d2a28
xor eax, eax
mov dword [ebp - 0x168], 0x26252506
mov word [ebp - 0x164], 0x3720
mov byte [ebp - 0x162], 0
nop dword [eax]
xor byte [ebp + eax - 0x16f], cl
inc eax
cmp eax, 0xd
jae 0x100354d5
mov cl, byte [ebp - 0x170]
jmp 0x100354c0
mov ch, 0x3f
mov byte [ebp - 0x14f], 0
mov al, 0x72
mov byte [ebp - 0x162], 0
xor al, ch
mov byte [ebp - 0x154], ch
mov cl, 0x56
mov byte [ebp - 0x153], al
mov dl, 0x4c
mov byte [ebp - 0x14f], 0
mov ah, 0x5c
xor cl, ch
xor dl, ch
mov byte [ebp - 0x152], cl
xor ah, ch
mov byte [ebp - 0x151], dl
mov byte [ebp - 0x150], ah
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x16f]
push esi
push eax
lea eax, [ebp - 0x153]
jmp 0x100364f3
mov eax, dword [esi + 8]
test eax, eax
je 0x10035769
cmp edi, eax
jne 0x10035769
xor edx, edx
lea ecx, [ebp - 0x18c]
cmp dword [0x100df940], 1
setne dl
mov dword [0x100df940], edx
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003556e
mov esi, dword [esi]
mov byte [ebp - 0x168], 0x3f
mov al, 0x7d
xor al, byte [ebp - 0x168]
mov cl, 0x53
mov byte [ebp - 0x167], al
mov dl, 0x50
mov al, byte [ebp - 0x168]
mov ah, 0x5c
xor cl, al
mov byte [ebp - 0x149], 0x6f
xor dl, al
mov byte [ebp - 0x166], cl
xor ah, al
mov byte [ebp - 0x165], dl
mov ch, 0x54
mov byte [ebp - 0x164], ah
xor ch, al
mov byte [ebp - 0x160], 0
mov dh, 0x6b
mov byte [ebp - 0x163], ch
xor dh, al
mov byte [ebp - 0x14f], 0
mov al, byte [ebp - 0x149]
mov ch, 0x76
xor al, byte [ebp - 0x168]
mov ah, 0x15
mov byte [ebp - 0x161], al
xor ah, ch
mov al, 0x3b
mov byte [ebp - 0x150], ah
xor al, ch
mov byte [ebp - 0x162], dh
mov byte [ebp - 0x153], al
mov cl, 0x1f
lea eax, [ebp - 0x114]
mov byte [ebp - 0x160], 0
push eax
push esi
lea eax, [ebp - 0x167]
mov byte [ebp - 0x154], ch
push eax
mov dl, 5
mov byte [ebp - 0x14f], 0
lea eax, [ebp - 0x153]
xor cl, ch
xor dl, ch
mov byte [ebp - 0x152], cl
push eax
mov byte [ebp - 0x151], dl
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x18c]
call fcn.100022f0
xorps xmm0, xmm0
mov dword [ebp - 0x118], 0
movups xmmword [ebp - 0x130], xmm0
mov byte [ebp - 0x149], 0xa1
movq qword [ebp - 0x120], xmm0
mov dword [ebp - method.ByteBuffer.virtual_0], vtable.ByteBuffer.0
mov byte [ebp - 0x12c], 1
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
push 0x1000
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 1
call fcn.10012710
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x120]
sub esi, edx
mov dword [ebp - method.ByteBuffer.virtual_0], vtable.Packet.0
cmp esi, 0x989680
ja 0x10035719
mov eax, dword [ebp - 0x124]
lea ecx, [eax + 1]
cmp esi, ecx
jae 0x1003570a
push ecx
lea ecx, [ebp - 0x120]
call fcn.10012650
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x124]
mov cl, byte [ebp - 0x149]
mov byte [eax + edx], cl
inc dword [ebp - 0x124]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x130]
movzx eax, byte [0x100df940]
push eax
push 0xab
call fcn.10021b20
mov ecx, eax
call fcn.10021b20
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
sub edx, ecx
call fcn.1001c640
lea ecx, [ebp - 0x120]
mov dword [ebp - method.ByteBuffer.virtual_0], vtable.ByteBuffer.0
call fcn.10012810
jmp 0x10036505
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x1003584b
cmp edi, ecx
jne 0x1003584b
call fcn.1001c180
mov edi, eax
cmp edi, 0xa
ja 0x10036505
cmp edi, dword [0x100df950]
je 0x10036505
mov dword [0x100df950], edi
mov edx, edi
mov ecx, dword [esi + 0x40]
call fcn.1001c140
mov ecx, dword [esi + 0x44]
mov edx, edi
call fcn.1001c310
movd xmm0, dword [0x100df950]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x100c7e9c]
movss dword [0x100d6ba8], xmm0
call fcn.10034060
mov edx, dword [0x100df950]
lea ecx, [ebp - 0x18c]
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x100357ed
mov esi, dword [esi]
mov cl, 0x30
mov dword [ebp - 0x16c], 0x5d517330
mov dword [ebp - 0x168], 0x62514255
xor eax, eax
mov dword [ebp - 0x164], 0x55575e51
mov byte [ebp - 0x160], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x16b], cl
inc eax
cmp eax, 0xb
jae 0x10035835
mov cl, byte [ebp - 0x16c]
jmp 0x10035820
mov byte [ebp - 0x160], 0
mov ch, 0x46
mov al, 0xb
mov cl, 0x2f
mov dl, 0x35
mov ah, 0x25
jmp 0x10035403
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x1003596c
cmp edi, ecx
jne 0x1003596c
call fcn.1001c180
cmp eax, 0x1388
ja 0x10036505
cmp eax, dword [0x100df930]
je 0x10036505
mov dword [0x100df930], eax
mov edx, eax
mov ecx, dword [esi + 0x34]
call fcn.1001c140
mov ecx, dword [0x100df930]
call fcn.10034020
mov edx, dword [0x100df930]
lea ecx, [ebp - 0x18c]
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x100358af
mov esi, dword [esi]
mov dh, 0x52
mov byte [ebp - 0x168], 0x6a
mov al, 0x11
mov byte [ebp - 0x154], dh
xor al, dh
mov byte [ebp - 0x14e], 0
mov byte [ebp - 0x153], al
mov cl, 0x3d
xor cl, dh
mov byte [ebp - 0x161], 0
mov ah, 0x3c
mov byte [ebp - 0x152], cl
xor ah, dh
mov byte [ebp - 0x14e], 0
mov al, 0x2f
mov byte [ebp - 0x150], ah
xor al, byte [ebp - 0x168]
mov dl, 0x27
xor dl, dh
mov byte [ebp - 0x167], al
mov al, byte [ebp - 0x168]
mov ch, 0x26
xor ch, dh
mov byte [ebp - 0x151], dl
mov cl, 0xc
mov byte [ebp - 0x14f], ch
mov ah, 0xf
mov byte [ebp - 0x161], 0
xor ah, al
mov dl, cl
xor cl, al
mov byte [ebp - 0x164], ah
xor dl, al
mov byte [ebp - 0x166], cl
mov ch, 9
mov byte [ebp - 0x165], dl
xor ch, al
mov dh, 0x1e
xor dh, al
mov byte [ebp - 0x163], ch
lea eax, [ebp - 0x114]
mov byte [ebp - 0x162], dh
push eax
lea eax, [ebp - 0x153]
push esi
push eax
lea eax, [ebp - 0x167]
jmp 0x100364f3
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x10035b21
cmp edi, ecx
jne 0x10035b21
call fcn.1001c180
mov edi, eax
cmp edi, 0x17
ja 0x10036505
cmp edi, dword [0x100df94c]
je 0x10036505
mov dword [0x100df94c], edi
mov edx, edi
mov ecx, dword [esi + 0x38]
call fcn.1001c140
xor ecx, ecx
push edi
cmp edi, 0xa
jge 0x100359ed
movaps xmm0, xmmword [0x100c9220]
movups xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x164], 0x33333967
mov byte [ebp - 0x160], cl
mov al, byte [ebp - 0x174]
xor byte [ebp + ecx - 0x173], al
inc ecx
cmp ecx, 0x13
jb 0x100359d1
mov byte [ebp - 0x160], 0
jmp 0x10035a2a
movaps xmm0, xmmword [0x100c92e0]
movups xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x164], 0x27272d
nop word [eax + eax]
mov al, byte [ebp - 0x174]
xor byte [ebp + ecx - 0x173], al
inc ecx
cmp ecx, 0x12
jb 0x10035a10
mov byte [ebp - 0x161], 0
sub esp, 0x18
lea eax, [ebp - 0x173]
mov ecx, esp
push eax
call fcn.10002940
lea eax, [ebp - 0x18c]
push eax
call fcn.1000f610
add esp, 0x20
lea ecx, [ebp - 0x148]
push eax
call fcn.10007a40
lea ecx, [ebp - 0x18c]
call fcn.100022f0
mov ecx, dword [esi + 0x3c]
lea edx, [ebp - 0x148]
call fcn.1001c270
push ecx
push edi
call fcn.10037480
mov edx, dword [0x100df94c]
lea ecx, [ebp - 0x18c]
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10035a91
mov esi, dword [esi]
mov byte [ebp - 0x16c], 0x7d
mov al, 0x3a
xor al, byte [ebp - 0x16c]
mov cl, 0x1c
xor cl, byte [ebp - 0x16c]
mov dl, 0x10
mov byte [ebp - 0x16b], al
mov ah, 0x18
mov byte [ebp - 0x149], dl
mov ch, 0x29
mov al, byte [ebp - 0x149]
mov dh, 0x14
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], ah
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor ch, cl
mov byte [ebp - 0x163], 0
xor dh, cl
mov byte [ebp - 0x169], dl
xor al, cl
mov byte [ebp - 0x168], ah
mov byte [ebp - 0x167], ch
mov cl, 0x7b
mov byte [ebp - 0x164], al
mov ch, 0x12
mov byte [ebp - 0x163], 0
mov al, 0x5f
mov dl, 0x61
mov ah, 0x71
jmp 0x100353fd
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10035c38
cmp edi, eax
jne 0x10035c38
cmp byte [0x100df958], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x100df958], al
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10035b5b
mov esi, dword [esi]
mov cl, 0x67
mov byte [ebp - 0x16c], 8
mov byte [ebp - 0x14b], cl
mov dl, cl
xor cl, byte [ebp - 0x16c]
mov al, 0x44
xor al, byte [ebp - 0x16c]
mov ah, 0x7c
mov byte [ebp - 0x16b], al
mov ch, 0x5f
mov byte [ebp - 0x149], 0x69
mov dh, 0x6d
mov al, byte [ebp - 0x149]
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x78
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14c], 0x66
mov byte [ebp - 0x164], al
xor ch, cl
mov al, byte [ebp - 0x14b]
xor dh, cl
xor al, cl
mov byte [ebp - 0x169], dl
mov byte [ebp - 0x163], al
mov dl, 0x6e
mov al, byte [ebp - 0x14c]
xor al, cl
mov byte [ebp - 0x161], 0
mov byte [ebp - 0x168], ah
mov cl, 0x7f
mov byte [ebp - 0x167], ch
mov ah, 0x56
mov byte [ebp - 0x162], al
mov ch, 0x75
mov byte [ebp - 0x161], 0
mov al, 0x4a
mov byte [ebp - 0x15c], 0x1a
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x73
mov byte [ebp - 0x14b], 0x74
mov byte [ebp - 0x14c], 0x7d
jmp 0x10036452
mov eax, dword [esi + 0x10]
test eax, eax
je 0x10035d32
cmp edi, eax
jne 0x10035d32
cmp byte [0x100df959], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x100df959], al
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10035c72
mov esi, dword [esi]
mov cl, 0x67
mov byte [ebp - 0x16c], 8
mov byte [ebp - 0x14a], cl
mov dl, cl
xor cl, byte [ebp - 0x16c]
mov al, 0x44
xor al, byte [ebp - 0x16c]
mov dh, 0x7a
mov byte [ebp - 0x16b], al
mov ah, 0x7c
mov byte [ebp - 0x149], 0x65
mov ch, 0x49
mov al, byte [ebp - 0x149]
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14b], dh
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x169], dl
mov byte [ebp - 0x164], al
xor ch, cl
mov al, byte [ebp - 0x14b]
xor dh, cl
xor al, cl
mov byte [ebp - 0x168], ah
mov dl, 0x75
mov byte [ebp - 0x167], ch
mov byte [ebp - 0x163], al
mov cl, 0x64
mov byte [ebp - 0x162], 0
mov al, 0x51
mov byte [ebp - 0x15c], 1
mov ah, 0x4d
mov ch, 0x6e
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x68
mov byte [ebp - 0x14b], 0x6f
mov byte [ebp - 0x14c], 0x66
jmp 0x1003644b
mov eax, dword [esi + 0x14]
test eax, eax
je 0x10035e88
cmp edi, eax
jne 0x10035e88
cmp byte [0x100df95a], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x100df95a], al
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10035d6c
mov esi, dword [esi]
mov cl, 0x2f
mov dword [ebp - 0x15c], 0x4040632f
mov dword [ebp - 0x158], 0x4c4c6e5b
xor eax, eax
mov dword [ebp - 0x154], 0x405c5c4a
mov word [ebp - 0x150], 0x565d
mov byte [ebp - 0x14e], 0
nop
xor byte [ebp + eax - 0x15b], cl
inc eax
cmp eax, 0xd
jae 0x10035db5
mov cl, byte [ebp - 0x15c]
jmp 0x10035da0
mov dl, 0x66
mov byte [ebp - 0x14e], 0
mov byte [ebp - 0x16c], 0x12
mov al, 0x42
mov cl, 0x77
mov byte [ebp - 0x149], dl
mov ah, 0x5e
mov byte [ebp - 0x14a], 0x7b
mov ch, 0x7d
mov byte [ebp - 0x14b], 0x7c
mov byte [ebp - 0x14c], 0x75
xor al, byte [ebp - 0x16c]
mov dh, ch
xor cl, byte [ebp - 0x16c]
mov byte [ebp - 0x16b], al
mov al, byte [ebp - 0x149]
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x161], 0
mov byte [ebp - 0x165], al
xor ah, cl
mov al, byte [ebp - 0x14a]
xor dl, cl
xor al, cl
mov byte [ebp - 0x168], ah
mov byte [ebp - 0x164], al
xor ch, cl
mov al, byte [ebp - 0x14b]
xor dh, cl
xor al, cl
mov byte [ebp - 0x169], dl
mov byte [ebp - 0x163], al
mov al, byte [ebp - 0x14c]
xor al, cl
mov byte [ebp - 0x167], ch
mov byte [ebp - 0x162], al
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x15b]
mov byte [ebp - 0x166], dh
push esi
push eax
mov byte [ebp - 0x161], 0
lea eax, [ebp - 0x16b]
jmp 0x100364f3
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10035f9f
cmp edi, eax
jne 0x10035f9f
cmp byte [0x100df95b], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x100df95b], al
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10035ec2
mov esi, dword [esi]
xor al, al
mov byte [ebp - 0x16c], 0x4c
mov byte [ebp - 0x161], al
mov cl, 0x23
xor al, byte [ebp - 0x16c]
mov dl, cl
xor cl, byte [ebp - 0x16c]
mov dh, dl
mov byte [ebp - 0x16b], al
mov ah, 0x38
mov byte [ebp - 0x149], 0x3e
mov ch, 2
mov al, byte [ebp - 0x149]
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x21
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14b], 0x2d
mov byte [ebp - 0x164], al
xor ch, cl
mov al, byte [ebp - 0x14b]
xor dh, cl
xor al, cl
mov byte [ebp - 0x14c], 0x20
mov byte [ebp - 0x163], al
mov al, byte [ebp - 0x14c]
xor al, cl
mov byte [ebp - 0x169], dl
mov dl, 5
mov byte [ebp - 0x168], ah
mov byte [ebp - 0x167], ch
mov cl, 0x14
mov byte [ebp - 0x162], al
mov ah, 0x3d
mov byte [ebp - 0x161], 0
mov al, 0x21
mov byte [ebp - 0x15c], 0x71
mov ch, 0x1e
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x18
mov byte [ebp - 0x14b], 0x1f
mov byte [ebp - 0x14c], 0x16
jmp 0x10036452
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1003609a
cmp edi, eax
jne 0x1003609a
cmp byte [0x100df95c], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x100df95c], al
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10035fd9
mov esi, dword [esi]
xor al, al
mov byte [ebp - 0x16c], 0x4c
mov byte [ebp - 0x162], al
mov cl, 0x23
xor al, byte [ebp - 0x16c]
mov dl, cl
xor cl, byte [ebp - 0x16c]
mov ah, 0x38
mov byte [ebp - 0x16b], al
mov ch, 1
mov byte [ebp - 0x149], 0x2b
mov dh, 0x2d
mov al, byte [ebp - 0x149]
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x25
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14b], 0x2f
mov byte [ebp - 0x164], al
xor ch, cl
mov al, byte [ebp - 0x14b]
xor dh, cl
xor al, cl
mov byte [ebp - 0x169], dl
mov dl, 0x46
mov byte [ebp - 0x168], ah
mov byte [ebp - 0x167], ch
mov cl, 0x57
mov byte [ebp - 0x163], al
mov ah, 0x7e
mov byte [ebp - 0x15c], 0x32
mov al, 0x62
mov ch, 0x5d
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x5b
mov byte [ebp - 0x14b], 0x5c
mov byte [ebp - 0x14c], 0x55
jmp 0x1003644b
mov eax, dword [esi + 0x20]
test eax, eax
je 0x10036188
cmp edi, eax
jne 0x10036188
cmp byte [0x100df95d], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x100df95d], al
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x100360d4
mov esi, dword [esi]
mov cl, 0x2e
mov byte [ebp - 0x16c], 0x41
mov dl, cl
mov byte [ebp - 0x149], 0x33
xor cl, byte [ebp - 0x16c]
mov al, 0xd
xor al, byte [ebp - 0x16c]
mov ah, 0x35
mov byte [ebp - 0x16b], al
mov ch, 0x13
mov al, byte [ebp - 0x149]
mov dh, 0x20
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x24
xor dl, cl
mov byte [ebp - 0x165], al
mov al, byte [ebp - 0x14a]
xor ah, cl
xor ch, cl
mov byte [ebp - 0x169], dl
xor dh, cl
mov byte [ebp - 0x163], 0
xor al, cl
mov byte [ebp - 0x168], ah
mov dl, 0x2c
mov byte [ebp - 0x167], ch
mov byte [ebp - 0x164], al
mov cl, 0x3d
mov byte [ebp - 0x163], 0
mov al, 8
mov byte [ebp - 0x15c], 0x58
mov ah, 0x14
mov ch, 0x37
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x31
mov byte [ebp - 0x14b], 0x36
mov byte [ebp - 0x14c], 0x3f
jmp 0x10036452
mov eax, dword [esi + 0x24]
test eax, eax
je 0x1003623d
cmp edi, eax
jne 0x1003623d
cmp byte [0x100df95e], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x100df95e], al
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x100361c2
mov esi, dword [esi]
mov cl, 0x2c
mov dword [ebp - 0x15c], 0x4343602c
mov dword [ebp - 0x158], 0x4b5c7958
xor eax, eax
mov dword [ebp - 0x154], 0x49484d5e
mov byte [ebp - 0x150], 0
nop dword [eax + eax]
xor byte [ebp + eax - 0x15b], cl
inc eax
cmp eax, 0xb
jae 0x10036205
mov cl, byte [ebp - 0x15c]
jmp 0x100361f0
mov dl, 0x13
mov byte [ebp - 0x150], 0
mov byte [ebp - 0x16c], 0x67
mov al, 0x37
mov cl, 2
mov byte [ebp - 0x149], dl
mov ah, 0x2b
mov byte [ebp - 0x14a], 0xe
mov ch, 8
mov byte [ebp - 0x14b], 9
mov byte [ebp - 0x14c], 0
jmp 0x10035de8
mov eax, dword [esi + 0x28]
test eax, eax
je 0x10036355
cmp edi, eax
jne 0x10036355
cmp byte [0x100df95f], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x100df95f], al
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10036277
mov esi, dword [esi]
mov cl, 0x5a
mov byte [ebp - 0x16c], 0x35
mov dl, cl
mov byte [ebp - 0x149], 0x5c
xor cl, byte [ebp - 0x16c]
mov al, 0x79
xor al, byte [ebp - 0x16c]
mov ah, 0x41
mov byte [ebp - 0x16b], al
mov ch, 0x60
mov al, byte [ebp - 0x149]
mov dh, 0x5b
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x44
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14b], 0x40
mov byte [ebp - 0x164], al
xor ch, cl
mov al, byte [ebp - 0x14b]
xor dh, cl
xor al, cl
mov byte [ebp - 0x14c], 0x50
mov byte [ebp - 0x163], al
mov al, byte [ebp - 0x14c]
xor al, cl
mov byte [ebp - 0x169], dl
mov dl, 0x70
mov byte [ebp - 0x161], 0
mov byte [ebp - 0x168], ah
mov cl, 0x61
mov byte [ebp - 0x167], ch
mov ah, 0x48
mov byte [ebp - 0x162], al
mov ch, 0x6b
mov byte [ebp - 0x161], 0
mov al, 0x54
mov byte [ebp - 0x15c], 4
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x6d
mov byte [ebp - 0x14b], 0x6a
mov byte [ebp - 0x14c], 0x63
jmp 0x10036452
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x10036505
cmp edi, eax
jne 0x10036505
cmp byte [0x100df960], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x100df960], al
call fcn.10019a10
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003638f
mov esi, dword [esi]
mov cl, 0x79
mov byte [ebp - 0x16c], 0x16
mov dl, cl
mov byte [ebp - 0x149], 0x77
xor cl, byte [ebp - 0x16c]
mov al, 0x5a
xor al, byte [ebp - 0x16c]
mov ah, 0x62
mov byte [ebp - 0x16b], al
mov ch, 0x55
mov al, byte [ebp - 0x149]
mov dh, 0x64
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x70
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ch, cl
xor al, cl
mov byte [ebp - 0x14b], ah
mov byte [ebp - 0x164], al
xor ah, cl
mov al, byte [ebp - 0x14b]
xor dh, cl
xor al, cl
mov byte [ebp - 0x169], dl
mov dl, 0x35
mov byte [ebp - 0x168], ah
mov byte [ebp - 0x167], ch
mov cl, 0x24
mov byte [ebp - 0x163], al
mov ah, 0xd
mov byte [ebp - 0x162], 0
mov al, 0x11
mov byte [ebp - 0x15c], 0x41
mov ch, 0x2e
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x28
mov byte [ebp - 0x14b], 0x2f
mov byte [ebp - 0x14c], 0x26
mov byte [ebp - 0x162], 0
xor al, byte [ebp - 0x15c]
xor cl, byte [ebp - 0x15c]
mov byte [ebp - 0x15b], al
mov al, byte [ebp - 0x149]
mov byte [ebp - 0x15a], cl
mov cl, byte [ebp - 0x15c]
xor al, cl
mov byte [ebp - 0x166], dh
mov byte [ebp - 0x155], al
xor ah, cl
mov al, byte [ebp - 0x14a]
mov dh, ch
xor al, cl
mov byte [ebp - 0x158], ah
mov byte [ebp - 0x154], al
xor dl, cl
mov al, byte [ebp - 0x14b]
xor ch, cl
xor al, cl
mov byte [ebp - 0x151], 0
mov byte [ebp - 0x153], al
xor dh, cl
mov al, byte [ebp - 0x14c]
xor al, cl
mov byte [ebp - 0x159], dl
mov byte [ebp - 0x152], al
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x16b]
mov byte [ebp - 0x157], ch
push esi
push eax
mov byte [ebp - 0x156], dh
lea eax, [ebp - 0x15b]
mov byte [ebp - 0x151], 0
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x18c]
call fcn.100022f0
mov eax, dword [ebp - 0x134]
cmp eax, 0x10
jb 0x10036523
inc eax
lea ecx, [ebp - 0x148]
push eax
push dword [ebp - 0x148]
call fcn.10002720
mov al, 1
jmp 0x10036529
xor al, al
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.1006e175
mov esp, ebp
pop ebp
ret 8