Function at 0x10031450
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Get number of processors
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006d8ec
mov eax, dword fs:[0]
push eax
sub esp, 0x180
mov eax, dword [0x10084014]
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 [0x1008a8f8], eax
test edi, edi
je 0x100327d1
mov eax, dword [ebp + 0xc]
cmp eax, 1
je 0x100314aa
cmp eax, 4
je 0x100314aa
cmp eax, 0x100
jne 0x100327d1
push 0x104
lea eax, [ebp - 0x114]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x134], 0xf
mov dword [ebp - 4], 0
mov eax, 0x1008ac14
cmp dword [0x1008ac28], 0x10
mov dword [ebp - 0x138], 0
cmovae eax, dword [0x1008ac14]
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 0x148], 0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov byte [ebp - 0x16c], 0x74
mov al, 0x3b
xor al, byte [ebp - 0x16c]
mov cl, 4
xor cl, byte [ebp - 0x16c]
mov dh, 0x1a
mov byte [ebp - 0x16b], al
mov ah, 0x1d
mov byte [ebp - 0x16a], cl
xor dl, dl
mov cl, byte [ebp - 0x16c]
mov ch, 0x1b
mov byte [ebp - 0x14c], 0x5a
xor ch, cl
mov al, byte [ebp - 0x14c]
xor al, cl
mov byte [ebp - 0x14b], 0x3d
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
mov byte [ebp - 0x161], dl
lea eax, [ebp - 0x114]
xor dl, cl
mov byte [ebp - 0x167], ch
push eax
mov byte [ebp - 0x169], dl
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 0x10031700
cmp edi, eax
jne 0x10031700
xor edx, edx
lea ecx, [ebp - 0x18c]
cmp dword [0x1008ac8c], 1
setne dl
cmp edx, 1
mov dword [0x1008ac8c], edx
sete byte [0x100867af]
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003160a
mov esi, dword [esi]
mov byte [ebp - 0x16c], 0x4b
mov al, 0x18
xor al, byte [ebp - 0x16c]
mov cl, 0x20
xor cl, byte [ebp - 0x16c]
mov ah, 0x27
mov byte [ebp - 0x16b], al
mov ch, ah
mov byte [ebp - 0x16a], cl
mov dl, 0x22
mov cl, byte [ebp - 0x16c]
mov dh, 0xa
mov byte [ebp - 0x149], 0x39
xor dl, cl
mov al, byte [ebp - 0x149]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14a], 0x2e
mov byte [ebp - 0x165], al
xor ch, cl
mov al, byte [ebp - 0x14a]
xor dh, cl
xor al, cl
mov byte [ebp - 0x14b], 0x2a
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, 7
mov byte [ebp - 0x168], ah
mov dl, 0x1d
mov byte [ebp - 0x167], ch
mov ah, 0xd
mov byte [ebp - 0x163], al
mov ch, 0x6e
mov byte [ebp - 0x162], 0
mov al, 0x23
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 0x100327a3
mov eax, dword [esi + 4]
test eax, eax
je 0x100317e4
cmp edi, eax
jne 0x100317e4
xor edx, edx
lea ecx, [ebp - 0x18c]
cmp dword [0x1008ac90], 1
setne dl
mov dword [0x1008ac90], edx
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003173a
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 0x10031785
mov cl, byte [ebp - 0x170]
jmp 0x10031770
mov ch, 0x54
mov byte [ebp - 0x14f], 0
mov al, 0x19
mov byte [ebp - 0x162], 0
xor al, ch
mov byte [ebp - 0x154], ch
mov cl, 0x3d
mov byte [ebp - 0x153], al
mov dl, 0x27
mov byte [ebp - 0x14f], 0
mov ah, 0x37
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 0x100327a3
mov eax, dword [esi + 8]
test eax, eax
je 0x10031a19
cmp edi, eax
jne 0x10031a19
xor edx, edx
lea ecx, [ebp - 0x18c]
cmp dword [0x1008ac88], 1
setne dl
mov dword [0x1008ac88], edx
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003181e
mov esi, dword [esi]
mov byte [ebp - 0x168], 0x36
mov al, 0x74
xor al, byte [ebp - 0x168]
mov cl, 0x5a
mov byte [ebp - 0x167], al
mov dl, 0x59
mov al, byte [ebp - 0x168]
mov ah, 0x55
xor cl, al
mov byte [ebp - 0x149], 0x66
xor dl, al
mov byte [ebp - 0x166], cl
xor ah, al
mov byte [ebp - 0x165], dl
mov ch, 0x5d
mov byte [ebp - 0x164], ah
xor ch, al
mov byte [ebp - 0x160], 0
mov dh, 0x62
mov byte [ebp - 0x163], ch
xor dh, al
mov byte [ebp - 0x14f], 0
mov al, byte [ebp - 0x149]
mov ch, 0x38
xor al, byte [ebp - 0x168]
mov ah, 0x5b
mov byte [ebp - 0x161], al
xor ah, ch
mov al, 0x75
mov byte [ebp - 0x150], ah
xor al, ch
mov byte [ebp - 0x162], dh
mov byte [ebp - 0x153], al
mov cl, 0x51
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, 0x4b
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.10002220
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.1000edd0
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 0x100319c9
mov eax, dword [ebp - 0x124]
lea ecx, [eax + 1]
cmp esi, ecx
jae 0x100319ba
push ecx
lea ecx, [ebp - 0x120]
call fcn.1000ed10
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 [0x1008ac88]
push eax
push 0xab
call fcn.1001e150
mov ecx, eax
call fcn.1001e150
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
sub edx, ecx
call fcn.10018e90
lea ecx, [ebp - 0x120]
mov dword [ebp - method.ByteBuffer.virtual_0], vtable.ByteBuffer.0
call fcn.1000eed0
jmp 0x100327b5
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x10031afb
cmp edi, ecx
jne 0x10031afb
call fcn.100189d0
mov edi, eax
cmp edi, 0xa
ja 0x100327b5
cmp edi, dword [0x1008ac98]
je 0x100327b5
mov dword [0x1008ac98], edi
mov edx, edi
mov ecx, dword [esi + 0x40]
call fcn.10018990
mov ecx, dword [esi + 0x44]
mov edx, edi
call fcn.10018b60
movd xmm0, dword [0x1008ac98]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x10079e74]
movss dword [0x10084060], xmm0
call fcn.10030360
mov edx, dword [0x1008ac98]
lea ecx, [ebp - 0x18c]
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10031a9d
mov esi, dword [esi]
mov cl, 0x71
mov dword [ebp - 0x16c], 0x1c103271
mov dword [ebp - 0x168], 0x23100314
xor eax, eax
mov dword [ebp - 0x164], 0x14161f10
mov byte [ebp - 0x160], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x16b], cl
inc eax
cmp eax, 0xb
jae 0x10031ae5
mov cl, byte [ebp - 0x16c]
jmp 0x10031ad0
mov byte [ebp - 0x160], 0
mov ch, 0x41
mov al, 0xc
mov cl, 0x28
mov dl, 0x32
mov ah, 0x22
jmp 0x100316b2
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x10031c1c
cmp edi, ecx
jne 0x10031c1c
call fcn.100189d0
cmp eax, 0x1388
ja 0x100327b5
cmp eax, dword [0x1008ac78]
je 0x100327b5
mov dword [0x1008ac78], eax
mov edx, eax
mov ecx, dword [esi + 0x34]
call fcn.10018990
mov ecx, dword [0x1008ac78]
call fcn.10030320
mov edx, dword [0x1008ac78]
lea ecx, [ebp - 0x18c]
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10031b5f
mov esi, dword [esi]
mov dh, 4
mov byte [ebp - 0x168], 0x10
mov al, 0x47
mov byte [ebp - 0x154], dh
xor al, dh
mov byte [ebp - 0x14e], 0
mov byte [ebp - 0x153], al
mov cl, 0x6b
xor cl, dh
mov byte [ebp - 0x161], 0
mov ah, 0x6a
mov byte [ebp - 0x152], cl
xor ah, dh
mov byte [ebp - 0x14e], 0
mov al, 0x55
mov byte [ebp - 0x150], ah
xor al, byte [ebp - 0x168]
mov dl, 0x71
xor dl, dh
mov byte [ebp - 0x167], al
mov al, byte [ebp - 0x168]
mov ch, 0x70
xor ch, dh
mov byte [ebp - 0x151], dl
mov cl, 0x76
mov byte [ebp - 0x14f], ch
mov ah, 0x75
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, 0x73
mov byte [ebp - 0x165], dl
xor ch, al
mov dh, 0x64
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 0x100327a3
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x10031dd1
cmp edi, ecx
jne 0x10031dd1
call fcn.100189d0
mov edi, eax
cmp edi, 0x17
ja 0x100327b5
cmp edi, dword [0x1008ac94]
je 0x100327b5
mov dword [0x1008ac94], edi
mov edx, edi
mov ecx, dword [esi + 0x38]
call fcn.10018990
xor ecx, ecx
push edi
cmp edi, 0xa
jge 0x10031c9d
movaps xmm0, xmmword [0x1007a490]
movups xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x164], 0x40404a14
mov byte [ebp - 0x160], cl
mov al, byte [ebp - 0x174]
xor byte [ebp + ecx - 0x173], al
inc ecx
cmp ecx, 0x13
jb 0x10031c81
mov byte [ebp - 0x160], 0
jmp 0x10031cda
movaps xmm0, xmmword [0x1007a290]
movups xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x164], 0x5d5d57
nop word [eax + eax]
mov al, byte [ebp - 0x174]
xor byte [ebp + ecx - 0x173], al
inc ecx
cmp ecx, 0x12
jb 0x10031cc0
mov byte [ebp - 0x161], 0
sub esp, 0x18
lea eax, [ebp - 0x173]
mov ecx, esp
push eax
call fcn.100028b0
lea eax, [ebp - 0x18c]
push eax
call fcn.1000bcb0
add esp, 0x20
lea ecx, [ebp - 0x148]
push eax
call fcn.10006ab0
lea ecx, [ebp - 0x18c]
call fcn.10002220
mov ecx, dword [esi + 0x3c]
lea edx, [ebp - 0x148]
call fcn.10018ac0
push ecx
push edi
call fcn.100337c0
mov edx, dword [0x1008ac94]
lea ecx, [ebp - 0x18c]
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10031d41
mov esi, dword [esi]
mov byte [ebp - 0x16c], 0x28
mov al, 0x6f
xor al, byte [ebp - 0x16c]
mov cl, 0x49
xor cl, byte [ebp - 0x16c]
mov dl, 0x45
mov byte [ebp - 0x16b], al
mov ah, 0x4d
mov byte [ebp - 0x149], dl
mov ch, 0x7c
mov al, byte [ebp - 0x149]
mov dh, 0x41
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, 0x55
mov byte [ebp - 0x164], al
mov ch, 0x3c
mov byte [ebp - 0x163], 0
mov al, 0x71
mov dl, 0x4f
mov ah, 0x5f
jmp 0x100316ac
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10031ee8
cmp edi, eax
jne 0x10031ee8
cmp byte [0x1008aca0], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x1008aca0], al
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10031e0b
mov esi, dword [esi]
mov cl, 0xb
mov byte [ebp - 0x16c], 0x64
mov byte [ebp - 0x14b], cl
mov dl, cl
xor cl, byte [ebp - 0x16c]
mov al, 0x28
xor al, byte [ebp - 0x16c]
mov ah, 0x10
mov byte [ebp - 0x16b], al
mov ch, 0x33
mov byte [ebp - 0x149], 5
mov dh, 1
mov al, byte [ebp - 0x149]
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x14
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14c], 0xa
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, 0x62
mov al, byte [ebp - 0x14c]
xor al, cl
mov byte [ebp - 0x161], 0
mov byte [ebp - 0x168], ah
mov cl, 0x73
mov byte [ebp - 0x167], ch
mov ah, 0x5a
mov byte [ebp - 0x162], al
mov ch, 0x79
mov byte [ebp - 0x161], 0
mov al, 0x46
mov byte [ebp - 0x15c], 0x16
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x7f
mov byte [ebp - 0x14b], 0x78
mov byte [ebp - 0x14c], 0x71
jmp 0x10032702
mov eax, dword [esi + 0x10]
test eax, eax
je 0x10031fe2
cmp edi, eax
jne 0x10031fe2
cmp byte [0x1008aca1], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x1008aca1], al
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10031f22
mov esi, dword [esi]
mov cl, 0x1a
mov byte [ebp - 0x16c], 0x75
mov byte [ebp - 0x14a], cl
mov dl, cl
xor cl, byte [ebp - 0x16c]
mov al, 0x39
xor al, byte [ebp - 0x16c]
mov dh, 7
mov byte [ebp - 0x16b], al
mov ah, 1
mov byte [ebp - 0x149], 0x18
mov ch, 0x34
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, 0x4f
mov byte [ebp - 0x167], ch
mov byte [ebp - 0x163], al
mov cl, 0x5e
mov byte [ebp - 0x162], 0
mov al, 0x6b
mov byte [ebp - 0x15c], 0x3b
mov ah, 0x77
mov ch, 0x54
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x52
mov byte [ebp - 0x14b], 0x55
mov byte [ebp - 0x14c], 0x5c
jmp 0x100326fb
mov eax, dword [esi + 0x14]
test eax, eax
je 0x10032138
cmp edi, eax
jne 0x10032138
cmp byte [0x1008aca2], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x1008aca2], al
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003201c
mov esi, dword [esi]
mov cl, 0x44
mov dword [ebp - 0x15c], 0x2b2b0844
mov dword [ebp - 0x158], 0x27270530
xor eax, eax
mov dword [ebp - 0x154], 0x2b373721
mov word [ebp - 0x150], 0x3d36
mov byte [ebp - 0x14e], 0
nop
xor byte [ebp + eax - 0x15b], cl
inc eax
cmp eax, 0xd
jae 0x10032065
mov cl, byte [ebp - 0x15c]
jmp 0x10032050
mov dl, 0x28
mov byte [ebp - 0x14e], 0
mov byte [ebp - 0x16c], 0x5c
mov al, 0xc
mov cl, 0x39
mov byte [ebp - 0x149], dl
mov ah, 0x10
mov byte [ebp - 0x14a], 0x35
mov ch, 0x33
mov byte [ebp - 0x14b], 0x32
mov byte [ebp - 0x14c], 0x3b
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 0x100327a3
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10032250
cmp edi, eax
jne 0x10032250
cmp byte [0x1008aca3], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x1008aca3], al
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10032172
mov esi, dword [esi]
mov cl, 0x50
mov byte [ebp - 0x16c], 0x3f
mov dl, cl
mov byte [ebp - 0x149], 0x4d
xor cl, byte [ebp - 0x16c]
mov al, 0x73
xor al, byte [ebp - 0x16c]
mov dh, dl
mov byte [ebp - 0x16b], al
mov ah, 0x4b
mov al, byte [ebp - 0x149]
mov ch, 0x71
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x52
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14b], 0x5e
mov byte [ebp - 0x164], al
xor ch, cl
mov al, byte [ebp - 0x14b]
xor dh, cl
xor al, cl
mov byte [ebp - 0x14c], 0x53
mov byte [ebp - 0x163], al
mov al, byte [ebp - 0x14c]
xor al, cl
mov byte [ebp - 0x169], dl
mov dl, 0x29
mov byte [ebp - 0x161], 0
mov byte [ebp - 0x168], ah
mov cl, 0x38
mov byte [ebp - 0x167], ch
mov ah, 0x11
mov byte [ebp - 0x162], al
mov ch, 0x32
mov byte [ebp - 0x161], 0
mov al, 0xd
mov byte [ebp - 0x15c], 0x5d
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x34
mov byte [ebp - 0x14b], 0x33
mov byte [ebp - 0x14c], 0x3a
jmp 0x10032702
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1003234c
cmp edi, eax
jne 0x1003234c
cmp byte [0x1008aca4], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x1008aca4], al
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003228a
mov esi, dword [esi]
mov cl, 0x40
mov byte [ebp - 0x16c], 0x2f
mov dl, cl
mov byte [ebp - 0x149], 0x48
xor cl, byte [ebp - 0x16c]
mov al, 0x63
xor al, byte [ebp - 0x16c]
mov ah, 0x5b
mov byte [ebp - 0x16b], al
mov ch, 0x62
mov al, byte [ebp - 0x149]
mov dh, 0x4e
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x46
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14b], 0x4c
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, 0x4a
mov byte [ebp - 0x168], ah
mov byte [ebp - 0x167], ch
mov cl, 0x5b
mov byte [ebp - 0x163], al
mov ah, 0x72
mov byte [ebp - 0x162], 0
mov al, 0x6e
mov byte [ebp - 0x15c], 0x3e
mov ch, 0x51
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x57
mov byte [ebp - 0x14b], 0x50
mov byte [ebp - 0x14c], 0x59
jmp 0x100326fb
mov eax, dword [esi + 0x20]
test eax, eax
je 0x1003243a
cmp edi, eax
jne 0x1003243a
cmp byte [0x1008aca5], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x1008aca5], al
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10032386
mov esi, dword [esi]
mov cl, 0x2a
mov byte [ebp - 0x16c], 0x45
mov dl, cl
mov byte [ebp - 0x149], 0x37
xor cl, byte [ebp - 0x16c]
mov al, 9
xor al, byte [ebp - 0x16c]
mov ah, 0x31
mov byte [ebp - 0x16b], al
mov ch, 0x17
mov al, byte [ebp - 0x149]
mov dh, 0x24
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x20
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, 0x69
mov byte [ebp - 0x167], ch
mov byte [ebp - 0x164], al
mov cl, 0x78
mov byte [ebp - 0x163], 0
mov al, 0x4d
mov byte [ebp - 0x15c], 0x1d
mov ah, 0x51
mov ch, 0x72
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0x74
mov byte [ebp - 0x14b], 0x73
mov byte [ebp - 0x14c], 0x7a
jmp 0x10032702
mov eax, dword [esi + 0x24]
test eax, eax
je 0x100324ed
cmp edi, eax
jne 0x100324ed
cmp byte [0x1008aca6], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x1008aca6], al
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10032474
mov esi, dword [esi]
mov cl, 0x36
mov dword [ebp - 0x15c], 0x59597a36
mov dword [ebp - 0x158], 0x51466342
xor eax, eax
mov dword [ebp - 0x154], 0x53525744
mov byte [ebp - 0x150], 0
nop dword [eax]
xor byte [ebp + eax - 0x15b], cl
inc eax
cmp eax, 0xb
jae 0x100324b5
mov cl, byte [ebp - 0x15c]
jmp 0x100324a0
mov dl, 0x75
mov byte [ebp - 0x150], 0
mov byte [ebp - 0x16c], 1
mov al, 0x51
mov cl, 0x64
mov byte [ebp - 0x149], dl
mov ah, 0x4d
mov byte [ebp - 0x14a], 0x68
mov ch, 0x6e
mov byte [ebp - 0x14b], 0x6f
mov byte [ebp - 0x14c], 0x66
jmp 0x10032098
mov eax, dword [esi + 0x28]
test eax, eax
je 0x10032605
cmp edi, eax
jne 0x10032605
cmp byte [0x1008aca7], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x1008aca7], al
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10032527
mov esi, dword [esi]
mov cl, 7
mov byte [ebp - 0x16c], 0x68
mov dl, cl
mov byte [ebp - 0x149], 1
xor cl, byte [ebp - 0x16c]
mov al, 0x24
xor al, byte [ebp - 0x16c]
mov ah, 0x1c
mov byte [ebp - 0x16b], al
mov ch, 0x3d
mov al, byte [ebp - 0x149]
mov dh, 6
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x19
mov byte [ebp - 0x165], al
xor dl, cl
mov al, byte [ebp - 0x14a]
xor ah, cl
xor al, cl
mov byte [ebp - 0x14b], 0x1d
mov byte [ebp - 0x164], al
xor ch, cl
mov al, byte [ebp - 0x14b]
xor dh, cl
xor al, cl
mov byte [ebp - 0x14c], 0xd
mov byte [ebp - 0x163], al
mov al, byte [ebp - 0x14c]
xor al, cl
mov byte [ebp - 0x169], dl
mov dl, 0x13
mov byte [ebp - 0x161], 0
mov byte [ebp - 0x168], ah
mov cl, 2
mov byte [ebp - 0x167], ch
mov ah, 0x2b
mov byte [ebp - 0x162], al
mov ch, 8
mov byte [ebp - 0x161], 0
mov al, 0x37
mov byte [ebp - 0x15c], 0x67
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0xe
mov byte [ebp - 0x14b], 9
mov byte [ebp - 0x14c], 0
jmp 0x10032702
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x100327b5
cmp edi, eax
jne 0x100327b5
cmp byte [0x1008aca8], 1
lea ecx, [ebp - 0x18c]
setne al
movzx edx, al
mov byte [0x1008aca8], al
call fcn.10016320
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1003263f
mov esi, dword [esi]
mov cl, 0x1a
mov byte [ebp - 0x16c], 0x75
mov dl, cl
mov byte [ebp - 0x149], 0x14
xor cl, byte [ebp - 0x16c]
mov al, 0x39
xor al, byte [ebp - 0x16c]
mov ah, 1
mov byte [ebp - 0x16b], al
mov ch, 0x36
mov al, byte [ebp - 0x149]
mov dh, 7
mov byte [ebp - 0x16a], cl
mov cl, byte [ebp - 0x16c]
xor al, cl
mov byte [ebp - 0x14a], 0x13
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, 0x11
mov byte [ebp - 0x168], ah
mov byte [ebp - 0x167], ch
xor cl, cl
mov byte [ebp - 0x163], al
mov ah, 0x29
mov byte [ebp - 0x162], 0
mov al, 0x35
mov byte [ebp - 0x15c], 0x65
mov ch, 0xa
mov byte [ebp - 0x149], dl
mov byte [ebp - 0x14a], 0xc
mov byte [ebp - 0x14b], 0xb
mov byte [ebp - 0x14c], 2
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.10002220
mov eax, dword [ebp - 0x134]
cmp eax, 0x10
jb 0x100327cd
inc eax
push eax
push dword [ebp - 0x148]
call fcn.100026b0
mov al, 1
jmp 0x100327d3
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.10067dd5
mov esp, ebp
pop ebp
ret 8