Function at 0x1002ff20
Capabilities:
Create thread
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x330
mov eax, dword [0x10060d38]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
cmp ecx, 0
sete cl
mov byte [ebp - 0x18], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x17], al
xor cl, 0xff
mov byte [ebp - 0x16], cl
xor al, 0xff
mov byte [ebp - 0x15], al
mov dl, byte [ebp - 0x17]
mov cl, byte [ebp - 0x15]
mov ah, byte [ebp - 0x18]
mov al, byte [ebp - 0x16]
mov ch, 1
xor ch, 0
mov byte [ebp - 0x1a], ch
and al, 0
and ah, ch
and cl, 0
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [ebp - 0x19], al
mov cl, byte [ebp - 0x1a]
mov dl, byte [ebp - 0x15]
mov al, byte [ebp - 0x16]
or al, dl
xor al, 0xff
or cl, 0
and al, cl
mov byte [ebp - 0x1b], al
mov cl, byte [ebp - 0x1b]
mov al, byte [ebp - 0x19]
or al, cl
test al, 1
jne 0x1002ffc3
jmp 0x10031ed2
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
sub esp, 0x40
mov eax, esp
mov dword [ebp - 0x38], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x34], eax
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x2c], eax
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
sub esp, 0x190
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, esp
mov dword [ebp - 0x54], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x50], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x4c], ecx
mov dword [eax], 0
mov eax, dword [ebp - 0x34]
sub esp, 8
mov dword [esp], 0x104
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov ecx, eax
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
cmp dword [eax], 0
seta al
mov byte [ebp - 0x5d], al
mov eax, dword [0x10060d38]
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x5c], ecx
mov ecx, eax
add ecx, 0x2a42bbb6
sub ecx, 1
sub ecx, 0x2a42bbb6
imul eax, ecx
and eax, 1
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
cmp eax, 0
sete ah
cmp ecx, 0xa
setl dl
mov al, ah
xor al, 0xff
mov byte [ebp - 0x61], al
mov cl, dl
xor cl, 0xff
mov byte [ebp - 0x60], cl
mov ch, 1
xor ch, 0
mov byte [ebp - 0x5f], ch
and al, 0
and ah, ch
and cl, 0
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [ebp - 0x5e], al
mov al, byte [ebp - 0x5e]
mov dl, byte [ebp - 0x5f]
mov ah, byte [ebp - 0x60]
mov cl, byte [ebp - 0x61]
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x100300dd
jmp 0x10031ed2
mov al, byte [ebp - 0x5d]
test al, 1
jne 0x100300ed
jmp 0x1003090e
mov eax, dword [0x10060d38]
mov dword [ebp - 0x70], eax
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x6c], ecx
sub eax, 0xd3061806
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
sub eax, 1
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
add ecx, 0xd3061806
imul eax, ecx
and eax, 1
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x78]
cmp eax, 0
sete al
mov byte [ebp - 0x7b], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x7a], cl
and al, cl
mov byte [ebp - 0x79], al
mov al, byte [ebp - 0x79]
mov dl, byte [ebp - 0x7a]
mov cl, byte [ebp - 0x7b]
xor cl, dl
or al, cl
mov byte [ebp - 0x7c], al
mov al, byte [ebp - 0x7c]
test al, 1
jne 0x10030161
jmp 0x10031f2d
mov eax, dword [ebp - 0x34]
mov byte [eax + 3], 0
mov eax, dword [0x1005f2c0]
mov eax, dword [eax - 0x433bc731]
mov dword [ebp - 0x84], eax
mov eax, dword [0x1005f2c4]
mov eax, dword [eax - 0x433bc731]
mov dword [ebp - 0x8c], eax
lea ecx, [0x1005fe68]
lea eax, [0x10058190]
add eax, 0x290
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037e30
mov eax, dword [ebp - 0x8c]
add esp, 8
lea ecx, [0x1005fe68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x88], eax
lea ecx, [0x1005fe4c]
lea eax, [0x10058190]
add eax, 0x251
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037180
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
add esp, 8
lea ecx, [0x1005fe4c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x80]
mov dword [eax], esi
mov eax, dword [eax]
xor esi, esi
sub esp, 0x20
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call eax
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
cmp dword [eax], 0
setne al
mov byte [ebp - 0x8d], al
mov eax, dword [0x10060d38]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x9c], ecx
sub eax, 0xf742064
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
sub edx, 1
add edx, 0xf742064
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x9e], dl
xor al, cl
mov byte [ebp - 0x9d], al
mov cl, byte [ebp - 0x9d]
mov al, byte [ebp - 0x9e]
or al, cl
test al, 1
jne 0x100302ee
jmp 0x10031f2d
mov al, byte [ebp - 0x8d]
test al, 1
jne 0x10030301
jmp 0x10030448
mov eax, dword [0x10060d38]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [0x10060d34]
mov dword [ebp - 0xac], ecx
sub eax, 0x841c9f29
sub eax, 1
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
add ecx, 0x841c9f29
imul eax, ecx
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
and eax, 1
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0xb5], al
mov al, byte [ebp - 0xb5]
test al, 1
jne 0x1003038f
jmp 0x1003204d
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [0x10060d38]
mov dword [ebp - 0xc4], eax
mov ecx, dword [0x10060d34]
mov dword [ebp - 0xc0], ecx
sub eax, 0x69fda7ef
sub eax, 1
add eax, 0x69fda7ef
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc4]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0xc9], al
mov eax, dword [ebp - 0xc0]
cmp eax, 0xa
setl al
mov byte [ebp - 0xca], al
mov cl, byte [ebp - 0xca]
mov al, byte [ebp - 0xc9]
and al, cl
mov byte [ebp - 0xcb], al
mov al, byte [ebp - 0xcb]
mov dl, byte [ebp - 0xca]
mov cl, byte [ebp - 0xc9]
xor cl, dl
or al, cl
mov byte [ebp - 0xcc], al
mov al, byte [ebp - 0xcc]
test al, 1
jne 0x10030437
jmp 0x1003204d
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
jmp 0x10030455
xor eax, eax
mov dword [ebp - 0xd0], eax
jmp 0x10030455
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov ecx, dword [0x10060d38]
mov eax, dword [0x10060d34]
mov edx, ecx
add edx, 0x2ce106cf
sub edx, 1
sub edx, 0x2ce106cf
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov cl, bl
xor cl, 0xff
mov ah, dh
xor ah, 0xff
mov dl, 1
xor dl, 0
mov al, cl
and al, 0
and bl, dl
mov ch, ah
and ch, 0
and dh, dl
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x100304ca
jmp 0x10032052
mov eax, dword [0x10060d38]
mov dword [ebp - 0xe0], eax
mov ecx, dword [0x10060d34]
mov dword [ebp - 0xdc], ecx
add eax, 0x192a9178
sub eax, 1
sub eax, 0x192a9178
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe0]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0xe6], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0xe5], cl
xor al, 0xff
mov byte [ebp - 0xe4], al
xor cl, 0xff
mov byte [ebp - 0xe3], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0xe2], cl
and al, 0xff
mov byte [ebp - 0xe1], al
mov cl, byte [ebp - 0xe2]
mov al, byte [ebp - 0xe6]
and al, cl
mov byte [ebp - 0xe7], al
mov ah, byte [ebp - 0xe7]
mov dl, byte [ebp - 0xe1]
mov ch, byte [ebp - 0xe2]
mov cl, byte [ebp - 0xe5]
mov al, byte [ebp - 0xe3]
and al, 0xff
and cl, ch
or dl, ah
mov byte [ebp - 0xe9], dl
or al, cl
mov byte [ebp - 0xe8], al
mov cl, byte [ebp - 0xe3]
mov al, byte [ebp - 0xe4]
mov ah, byte [ebp - 0xe8]
mov dl, byte [ebp - 0xe9]
xor dl, ah
mov byte [ebp - 0xeb], dl
or al, cl
mov byte [ebp - 0xea], al
mov al, byte [ebp - 0xeb]
mov dl, byte [ebp - 0xe2]
mov cl, byte [ebp - 0xea]
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x100305df
jmp 0x10032052
mov eax, dword [0x10060d38]
mov dword [ebp - 0xf8], eax
mov ecx, dword [0x10060d34]
mov dword [ebp - 0xf4], ecx
add eax, 0xe4226f8b
sub eax, 1
sub eax, 0xe4226f8b
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf8]
imul eax, ecx
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xfc]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x101], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x100], al
xor cl, 0xff
mov byte [ebp - 0xff], cl
xor al, 0xff
mov byte [ebp - 0xfe], al
mov al, 1
xor al, 0
mov byte [ebp - 0xfd], al
mov ch, byte [ebp - 0xfd]
mov cl, byte [ebp - 0x100]
mov al, byte [ebp - 0xfe]
mov ah, byte [ebp - 0x101]
mov dl, byte [ebp - 0xff]
and dl, 0
and ah, ch
and al, 0
and cl, ch
or dl, ah
mov byte [ebp - 0x103], dl
or al, cl
mov byte [ebp - 0x102], al
mov cl, byte [ebp - 0xfe]
mov al, byte [ebp - 0xff]
mov ah, byte [ebp - 0x102]
mov dl, byte [ebp - 0x103]
xor dl, ah
mov byte [ebp - 0x105], dl
or al, cl
mov byte [ebp - 0x104], al
mov al, byte [ebp - 0x105]
mov dl, byte [ebp - 0xfd]
mov cl, byte [ebp - 0x104]
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x100306e8
jmp 0x10031e46
mov ecx, dword [0x10060d38]
mov eax, dword [0x10060d34]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x109], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x108], al
xor cl, 0xff
mov byte [ebp - 0x107], cl
xor al, 0xff
mov byte [ebp - 0x106], al
mov al, byte [ebp - 0x107]
mov cl, 1
xor cl, 0
mov byte [ebp - 0x10b], cl
and al, 0
mov byte [ebp - 0x10a], al
mov cl, byte [ebp - 0x106]
mov al, byte [ebp - 0x107]
mov dl, byte [ebp - 0x10a]
mov bl, byte [ebp - 0x10b]
mov ch, byte [ebp - 0x108]
mov dh, byte [ebp - 0x109]
and dh, bl
mov ah, cl
and ah, 0
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [ebp - 0x10d], dl
or al, cl
mov byte [ebp - 0x10c], al
mov al, byte [ebp - 0x10c]
xor al, 0xff
mov byte [ebp - 0x10e], al
mov al, byte [ebp - 0x10d]
mov cl, byte [ebp - 0x10e]
mov dl, byte [ebp - 0x10b]
or dl, 0
and cl, dl
or al, cl
mov byte [ebp - 0x10f], al
mov al, byte [ebp - 0x10f]
test al, 1
jne 0x100307c5
jmp 0x10032057
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xd4]
mov dword [eax], ecx
mov eax, dword [0x10060d38]
mov dword [ebp - 0x11c], eax
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x118], ecx
sub eax, 0x4a7f08ea
sub eax, 1
add eax, 0x4a7f08ea
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x11c]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x11f], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x11e], cl
and al, cl
mov byte [ebp - 0x11d], al
mov cl, byte [ebp - 0x11e]
mov al, byte [ebp - 0x11f]
xor al, cl
mov byte [ebp - 0x120], al
mov cl, byte [ebp - 0x120]
mov al, byte [ebp - 0x11d]
or al, cl
mov byte [ebp - 0x121], al
mov al, byte [ebp - 0x121]
test al, 1
jne 0x1003086d
jmp 0x10032057
mov eax, dword [0x10060d38]
mov dword [ebp - 0x12c], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x12c]
add eax, 0x993f95a1
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
sub eax, 1
sub eax, 0x993f95a1
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x12c]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x135], al
mov al, byte [ebp - 0x135]
mov ecx, dword [ebp - 0x128]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x137], cl
and al, cl
mov byte [ebp - 0x136], al
mov al, byte [ebp - 0x136]
mov dl, byte [ebp - 0x137]
mov cl, byte [ebp - 0x135]
xor cl, dl
or al, cl
test al, 1
jne 0x10030909
jmp 0x10031e46
jmp 0x1003090e
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000f520
add esp, 8
mov eax, dword [0x1005f2d0]
mov word [eax - 0x433bc731], 0x32a
lea ecx, [0x10060150]
lea eax, [0x10058190]
add eax, 0xa8d
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10047640
add esp, 8
lea ecx, [0x1005fd50]
lea eax, [0x10060150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [0x1005fd10]
lea eax, [0x10060150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0x1005f2c0]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
mov eax, dword [eax - 0x433bc731]
mov dword [ebp - 0x148], eax
mov eax, dword [0x1005f2c4]
mov eax, dword [eax - 0x433bc731]
mov dword [ebp - 0x150], eax
lea ecx, [0x1005fde8]
lea eax, [0x10058190]
add eax, 0xc6
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10032a30
mov eax, dword [ebp - 0x150]
add esp, 8
lea ecx, [0x1005fde8]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x14c], eax
lea ecx, [0x1006016c]
lea eax, [0x10058190]
add eax, 0xad8
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10047b10
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
add esp, 8
lea ecx, [0x1006016c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, dword [ebp - 0x24]
mov edx, eax
mov eax, dword [ebp - 0x44]
mov dword [eax], edx
sub esp, 8
mov dword [esp], 0x202
mov dword [esp + 4], ecx
call dword [eax]
mov eax, dword [0x1005f2e8]
mov dword [eax - 0x433bc731], 1
lea ecx, [0x1006017c]
lea eax, [0x10058190]
add eax, 0xb10
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10049090
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
add esp, 8
lea ecx, [0x1006017c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [0x1005f2c0]
mov eax, dword [eax - 0x433bc731]
mov dword [ebp - 0x144], eax
mov eax, dword [0x1005f2c4]
add eax, 0xbcc438cf
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x140]
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
lea ecx, [0x1005fe68]
lea eax, [0x10058190]
add eax, 0x290
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037e30
mov eax, dword [ebp - 0x158]
add esp, 8
lea ecx, [0x1005fe68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x154], eax
lea ecx, [0x1006018c]
lea eax, [0x10058190]
add eax, 0xb40
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10049610
add esp, 8
mov eax, dword [ebp - 0x144]
mov edx, dword [ebp - 0x154]
lea ecx, [0x1006018c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x15c]
mov dword [eax], edx
mov eax, dword [eax]
xor edx, edx
sub esp, 0xc
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call eax
mov ecx, dword [ebp - 0x50]
mov dword [ecx], eax
xor eax, eax
cmp eax, dword [ecx]
je 0x10031b6f
mov eax, dword [0x10060d38]
mov dword [ebp - 0x168], eax
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x164], ecx
sub eax, 0xe73ac290
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x160]
sub edx, 1
add edx, 0xe73ac290
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x16d], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x16c], al
xor cl, 0xff
mov byte [ebp - 0x16b], cl
xor al, 0xff
mov byte [ebp - 0x16a], al
mov al, 1
xor al, 0
mov byte [ebp - 0x169], al
mov ah, byte [ebp - 0x169]
mov dl, byte [ebp - 0x16c]
mov ch, byte [ebp - 0x16a]
mov cl, byte [ebp - 0x16d]
mov al, byte [ebp - 0x16b]
and al, 0
and cl, ah
and ch, 0
mov byte [ebp - 0x170], ch
and dl, ah
mov byte [ebp - 0x16f], dl
or al, cl
mov byte [ebp - 0x16e], al
mov cl, byte [ebp - 0x16a]
mov al, byte [ebp - 0x16b]
mov dl, byte [ebp - 0x16e]
mov ch, byte [ebp - 0x16f]
mov ah, byte [ebp - 0x170]
or ah, ch
xor dl, ah
mov byte [ebp - 0x172], dl
or al, cl
mov byte [ebp - 0x171], al
mov al, byte [ebp - 0x172]
mov dl, byte [ebp - 0x169]
mov cl, byte [ebp - 0x171]
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [ebp - 0x173], al
mov al, byte [ebp - 0x173]
test al, 1
jne 0x10030cae
jmp 0x10031e36
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
mov eax, 0xb7
cmp eax, ecx
sete al
mov byte [ebp - 0x179], al
mov eax, dword [0x10060d38]
mov dword [ebp - 0x184], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x186], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x185], al
mov cl, byte [ebp - 0x185]
mov al, byte [ebp - 0x186]
mov dl, al
and dl, cl
mov byte [ebp - 0x188], dl
xor al, cl
mov byte [ebp - 0x187], al
mov cl, byte [ebp - 0x187]
mov al, byte [ebp - 0x188]
or al, cl
test al, 1
jne 0x10030d52
jmp 0x10031e36
mov al, byte [ebp - 0x179]
test al, 1
jne 0x10030d65
jmp 0x10030d90
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x18c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
jmp 0x10030d90
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
xor eax, eax
cmp eax, ecx
setne al
mov byte [ebp - 0x191], al
mov al, byte [ebp - 0x191]
test al, 1
jne 0x10030dc1
jmp 0x1003129e
mov eax, dword [0x10060d38]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x1a0], ecx
mov ecx, eax
add ecx, 0xef6ae56d
sub ecx, 1
sub ecx, 0xef6ae56d
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x199], al
mov ah, byte [ebp - 0x199]
mov ecx, dword [ebp - 0x1a0]
cmp ecx, 0xa
setl al
mov ch, ah
xor ch, 0xff
mov byte [ebp - 0x1a7], ch
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x1a6], dl
mov cl, 1
xor cl, 0
mov byte [ebp - 0x1a5], cl
and ch, 0
mov byte [ebp - 0x1a4], ch
and ah, cl
mov byte [ebp - 0x1a3], ah
and dl, 0
mov byte [ebp - 0x1a2], dl
and al, cl
mov byte [ebp - 0x1a1], al
mov cl, byte [ebp - 0x1a6]
mov al, byte [ebp - 0x1a7]
mov ch, byte [ebp - 0x1a1]
mov ah, byte [ebp - 0x1a2]
mov dh, byte [ebp - 0x1a3]
mov dl, byte [ebp - 0x1a4]
or dl, dh
or ah, ch
xor dl, ah
mov byte [ebp - 0x1a9], dl
or al, cl
mov byte [ebp - 0x1a8], al
mov cl, byte [ebp - 0x1a5]
mov al, byte [ebp - 0x1a8]
xor al, 0xff
or cl, 0
and al, cl
mov byte [ebp - 0x1aa], al
mov cl, byte [ebp - 0x1aa]
mov al, byte [ebp - 0x1a9]
or al, cl
test al, 1
jne 0x10030ec2
jmp 0x10031e56
xor eax, eax
lea eax, [0x10028d20]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
xor eax, eax
cmp eax, dword [ecx]
setne al
mov byte [ebp - 0x1b5], al
mov eax, dword [0x10060d38]
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x1b4], ecx
mov ecx, eax
sub ecx, 0xbd0717b5
sub ecx, 1
add ecx, 0xbd0717b5
imul eax, ecx
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
and eax, 1
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1bc]
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x1c2], cl
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x1c1], dl
xor cl, 0xff
mov byte [ebp - 0x1c0], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x1bf], cl
and dl, 0xff
mov byte [ebp - 0x1be], dl
and al, cl
mov byte [ebp - 0x1bd], al
mov cl, byte [ebp - 0x1bd]
mov al, byte [ebp - 0x1be]
mov ah, byte [ebp - 0x1bf]
mov dl, byte [ebp - 0x1c2]
mov ch, byte [ebp - 0x1c0]
and ch, 0xff
mov byte [ebp - 0x1c5], ch
and dl, ah
mov byte [ebp - 0x1c4], dl
or al, cl
mov byte [ebp - 0x1c3], al
mov al, byte [ebp - 0x1bf]
mov dl, byte [ebp - 0x1c0]
mov cl, byte [ebp - 0x1c1]
mov ah, byte [ebp - 0x1c3]
mov dh, byte [ebp - 0x1c4]
mov ch, byte [ebp - 0x1c5]
or ch, dh
xor ah, ch
mov byte [ebp - 0x1c8], ah
or cl, dl
xor cl, 0xff
mov byte [ebp - 0x1c7], cl
or al, 1
mov byte [ebp - 0x1c6], al
mov al, byte [ebp - 0x1c8]
mov dl, byte [ebp - 0x1c6]
mov cl, byte [ebp - 0x1c7]
and cl, dl
or al, cl
test al, 1
jne 0x10031033
jmp 0x10031e56
mov al, byte [ebp - 0x1b5]
test al, 1
jne 0x10031046
jmp 0x10031071
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1cc]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x40]
mov dword [eax], 1
jmp 0x10031e1e
mov eax, dword [0x10060d38]
mov dword [ebp - 0x1d4], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d4]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x1d7], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x1d6], cl
xor al, 0xff
mov byte [ebp - 0x1d5], al
mov al, byte [ebp - 0x1d7]
mov dl, byte [ebp - 0x1d5]
mov cl, byte [ebp - 0x1d6]
xor cl, 0xff
mov byte [ebp - 0x1db], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x1da], cl
and dl, 0xff
mov byte [ebp - 0x1d9], dl
and al, cl
mov byte [ebp - 0x1d8], al
mov cl, byte [ebp - 0x1d8]
mov al, byte [ebp - 0x1d9]
mov ah, byte [ebp - 0x1da]
mov dl, byte [ebp - 0x1d6]
mov ch, byte [ebp - 0x1db]
and ch, 0xff
mov byte [ebp - 0x1de], ch
and dl, ah
mov byte [ebp - 0x1dd], dl
or al, cl
mov byte [ebp - 0x1dc], al
mov dl, byte [ebp - 0x1da]
mov ah, byte [ebp - 0x1db]
mov cl, byte [ebp - 0x1d5]
mov al, byte [ebp - 0x1dc]
mov dh, byte [ebp - 0x1dd]
mov ch, byte [ebp - 0x1de]
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
mov byte [ebp - 0x1df], al
mov al, byte [ebp - 0x1df]
test al, 1
jne 0x1003117d
jmp 0x10032067
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x10060d38]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x1e8], ecx
add eax, 0xc64ae451
sub eax, 1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1e4]
sub ecx, 0xc64ae451
imul eax, ecx
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x1f0]
and eax, 1
cmp eax, 0
sete ah
cmp ecx, 0xa
setl al
mov ch, ah
xor ch, 0xff
mov byte [ebp - 0x1f7], ch
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x1f6], dl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x1f5], cl
and ch, 0xff
mov byte [ebp - 0x1f4], ch
and ah, cl
mov byte [ebp - 0x1f3], ah
and dl, 0xff
mov byte [ebp - 0x1f2], dl
and al, cl
mov byte [ebp - 0x1f1], al
mov cl, byte [ebp - 0x1f1]
mov al, byte [ebp - 0x1f2]
mov ah, byte [ebp - 0x1f3]
mov dl, byte [ebp - 0x1f4]
or dl, ah
mov byte [ebp - 0x1f9], dl
or al, cl
mov byte [ebp - 0x1f8], al
mov dl, byte [ebp - 0x1f5]
mov ah, byte [ebp - 0x1f6]
mov cl, byte [ebp - 0x1f7]
mov ch, byte [ebp - 0x1f8]
mov al, byte [ebp - 0x1f9]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
mov byte [ebp - 0x1fa], al
mov al, byte [ebp - 0x1fa]
test al, 1
jne 0x10031299
jmp 0x10032067
jmp 0x1003129e
mov eax, dword [0x10060d38]
mov dword [ebp - 0x204], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x204]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x208], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x207], al
xor cl, 0xff
mov byte [ebp - 0x206], cl
xor al, 0xff
mov byte [ebp - 0x205], al
mov al, byte [ebp - 0x206]
mov cl, 1
xor cl, 1
mov byte [ebp - 0x20a], cl
and al, 0xff
mov byte [ebp - 0x209], al
mov al, byte [ebp - 0x209]
mov ah, byte [ebp - 0x20a]
mov dl, byte [ebp - 0x207]
mov ch, byte [ebp - 0x205]
mov cl, byte [ebp - 0x208]
and cl, ah
and ch, 0xff
mov byte [ebp - 0x20d], ch
and dl, ah
mov byte [ebp - 0x20c], dl
or al, cl
mov byte [ebp - 0x20b], al
mov cl, byte [ebp - 0x205]
mov al, byte [ebp - 0x206]
mov dl, byte [ebp - 0x20b]
mov ch, byte [ebp - 0x20c]
mov ah, byte [ebp - 0x20d]
or ah, ch
xor dl, ah
mov byte [ebp - 0x20f], dl
or al, cl
mov byte [ebp - 0x20e], al
mov al, byte [ebp - 0x20f]
mov dl, byte [ebp - 0x20a]
mov cl, byte [ebp - 0x20e]
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x100313a3
jmp 0x10031e41
mov eax, dword [0x10060d38]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
mov ecx, dword [0x10060d34]
mov edx, eax
add edx, 0xe28985af
sub edx, 1
sub edx, 0xe28985af
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x217], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x216], cl
xor al, 0xff
mov byte [ebp - 0x215], al
mov al, byte [ebp - 0x216]
xor al, 0xff
mov byte [ebp - 0x219], al
mov al, 1
xor al, 0
mov byte [ebp - 0x218], al
mov al, byte [ebp - 0x215]
and al, 0
mov byte [ebp - 0x21a], al
mov dl, byte [ebp - 0x21a]
mov ch, byte [ebp - 0x218]
mov cl, byte [ebp - 0x216]
mov al, byte [ebp - 0x219]
mov ah, byte [ebp - 0x217]
and ah, ch
and al, 0
and cl, ch
or dl, ah
mov byte [ebp - 0x21c], dl
or al, cl
mov byte [ebp - 0x21b], al
mov dl, byte [ebp - 0x218]
mov ah, byte [ebp - 0x219]
mov cl, byte [ebp - 0x215]
mov ch, byte [ebp - 0x21b]
mov al, byte [ebp - 0x21c]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x10031484
jmp 0x10031ead
mov eax, dword [0x10060d38]
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x224], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x220]
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
xor al, 0xff
mov byte [ebp - 0x22a], al
mov ch, dl
xor ch, 0xff
mov byte [ebp - 0x229], ch
mov ah, 1
xor ah, 1
mov byte [ebp - 0x228], ah
and al, 0xff
and cl, ah
and ch, 0xff
mov byte [ebp - 0x227], ch
and dl, ah
mov byte [ebp - 0x226], dl
or al, cl
mov byte [ebp - 0x225], al
mov cl, byte [ebp - 0x226]
mov al, byte [ebp - 0x227]
or al, cl
mov byte [ebp - 0x22b], al
mov cl, byte [ebp - 0x229]
mov al, byte [ebp - 0x22a]
mov ah, byte [ebp - 0x22b]
mov dl, byte [ebp - 0x225]
xor dl, ah
mov byte [ebp - 0x22d], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x22c], al
mov al, byte [ebp - 0x22d]
mov cl, byte [ebp - 0x22c]
mov dl, byte [ebp - 0x228]
or dl, 1
and cl, dl
or al, cl
mov byte [ebp - 0x22e], al
mov al, byte [ebp - 0x22e]
test al, 1
jne 0x1003156f
jmp 0x10031ead
mov eax, dword [0x10060d38]
mov dword [ebp - 0x238], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0x234], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x238]
mov edx, dword [ebp - 0x23c]
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23d]
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x23f], cl
and al, cl
mov byte [ebp - 0x23e], al
mov al, byte [ebp - 0x23e]
mov dl, byte [ebp - 0x23f]
mov cl, byte [ebp - 0x23d]
xor cl, dl
or al, cl
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x240]
test al, 1
jne 0x10031601
jmp 0x10031e41
mov eax, dword [0x10060d38]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x244]
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x24c], ecx
sub eax, 0x57295d72
sub eax, 1
add eax, 0x57295d72
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x244]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x250], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x24f], al
xor cl, 0xff
mov byte [ebp - 0x24e], cl
xor al, 0xff
mov byte [ebp - 0x24d], al
mov al, byte [ebp - 0x24e]
mov cl, 1
xor cl, 1
mov byte [ebp - 0x252], cl
and al, 0xff
mov byte [ebp - 0x251], al
mov dl, byte [ebp - 0x251]
mov ch, byte [ebp - 0x252]
mov cl, byte [ebp - 0x24f]
mov al, byte [ebp - 0x24d]
mov ah, byte [ebp - 0x250]
and ah, ch
and al, 0xff
and cl, ch
or dl, ah
mov byte [ebp - 0x254], dl
or al, cl
mov byte [ebp - 0x253], al
mov dl, byte [ebp - 0x252]
mov ah, byte [ebp - 0x24d]
mov cl, byte [ebp - 0x24e]
mov ch, byte [ebp - 0x253]
mov al, byte [ebp - 0x254]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x100316f8
jmp 0x10032089
mov eax, dword [0x10060d38]
mov dword [ebp - 0x25c], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x25c]
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x261], al
mov al, byte [ebp - 0x261]
mov ecx, dword [ebp - 0x258]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x263], cl
and al, cl
mov byte [ebp - 0x262], al
mov al, byte [ebp - 0x262]
mov dl, byte [ebp - 0x263]
mov cl, byte [ebp - 0x261]
xor cl, dl
or al, cl
mov byte [ebp - 0x264], al
mov al, byte [ebp - 0x264]
test al, 1
jne 0x1003178a
jmp 0x10032089
mov eax, dword [0x10060d38]
mov dword [ebp - 0x268], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0x270], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x268]
add eax, ecx
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov edx, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x268]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x278], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x277], al
xor cl, 0xff
mov byte [ebp - 0x276], cl
xor al, 0xff
mov byte [ebp - 0x275], al
mov al, byte [ebp - 0x277]
mov dl, byte [ebp - 0x275]
mov ah, byte [ebp - 0x278]
mov ch, byte [ebp - 0x276]
mov cl, 1
xor cl, 1
mov byte [ebp - 0x27d], cl
and ch, 0xff
mov byte [ebp - 0x27c], ch
and ah, cl
mov byte [ebp - 0x27b], ah
and dl, 0xff
mov byte [ebp - 0x27a], dl
and al, cl
mov byte [ebp - 0x279], al
mov dl, byte [ebp - 0x27d]
mov ah, byte [ebp - 0x275]
mov cl, byte [ebp - 0x276]
mov dh, byte [ebp - 0x279]
mov ch, byte [ebp - 0x27a]
mov bl, byte [ebp - 0x27b]
mov al, byte [ebp - 0x27c]
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x1003188e
jmp 0x10031eb2
mov eax, dword [0x10060d38]
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x284], ecx
mov ecx, eax
sub ecx, 0x15ca4f49
sub ecx, 1
add ecx, 0x15ca4f49
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x27e], al
mov cl, byte [ebp - 0x27e]
mov eax, dword [ebp - 0x284]
cmp eax, 0xa
setl al
mov byte [ebp - 0x287], al
xor cl, 0xff
mov byte [ebp - 0x286], cl
xor al, 0xff
mov byte [ebp - 0x285], al
mov al, byte [ebp - 0x287]
mov dl, byte [ebp - 0x285]
mov ah, byte [ebp - 0x27e]
mov ch, byte [ebp - 0x286]
mov cl, 1
xor cl, 0
mov byte [ebp - 0x28c], cl
and ch, 0
mov byte [ebp - 0x28b], ch
and ah, cl
mov byte [ebp - 0x28a], ah
and dl, 0
mov byte [ebp - 0x289], dl
and al, cl
mov byte [ebp - 0x288], al
mov cl, byte [ebp - 0x28c]
mov dl, byte [ebp - 0x285]
mov al, byte [ebp - 0x286]
mov dh, byte [ebp - 0x288]
mov ch, byte [ebp - 0x289]
mov bl, byte [ebp - 0x28a]
mov ah, byte [ebp - 0x28b]
or ah, bl
or ch, dh
xor ah, ch
mov byte [ebp - 0x28e], ah
or al, dl
xor al, 0xff
or cl, 0
and al, cl
mov byte [ebp - 0x28d], al
mov cl, byte [ebp - 0x28d]
mov al, byte [ebp - 0x28e]
or al, cl
mov byte [ebp - 0x28f], al
mov al, byte [ebp - 0x28f]
test al, 1
jne 0x1003199c
jmp 0x10031eb2
mov eax, dword [0x10060d38]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x294]
mov eax, dword [0x10060d34]
mov edx, ecx
add edx, 0xcb979f30
sub edx, 1
sub edx, 0xcb979f30
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x298], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x297], al
xor cl, 0xff
mov byte [ebp - 0x296], cl
xor al, 0xff
mov byte [ebp - 0x295], al
mov dl, byte [ebp - 0x297]
mov ch, byte [ebp - 0x295]
mov cl, byte [ebp - 0x298]
mov al, byte [ebp - 0x296]
mov ah, 1
xor ah, 0
mov byte [ebp - 0x29c], ah
and al, 0
and cl, ah
and ch, 0
mov byte [ebp - 0x29b], ch
and dl, ah
mov byte [ebp - 0x29a], dl
or al, cl
mov byte [ebp - 0x299], al
mov cl, byte [ebp - 0x295]
mov al, byte [ebp - 0x296]
mov dl, byte [ebp - 0x299]
mov ch, byte [ebp - 0x29a]
mov ah, byte [ebp - 0x29b]
or ah, ch
xor dl, ah
mov byte [ebp - 0x29e], dl
or al, cl
mov byte [ebp - 0x29d], al
mov al, byte [ebp - 0x29e]
mov dl, byte [ebp - 0x29c]
mov cl, byte [ebp - 0x29d]
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [ebp - 0x29f], al
mov al, byte [ebp - 0x29f]
test al, 1
jne 0x10031a97
jmp 0x1003208e
mov eax, dword [0x10060d38]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x2ac], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x2ae], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x2ad], al
mov al, byte [ebp - 0x2ae]
xor al, 0xff
mov byte [ebp - 0x2af], al
mov cl, byte [ebp - 0x2af]
mov dh, byte [ebp - 0x2ad]
mov bl, byte [ebp - 0x2ae]
mov dl, dh
xor dl, 0xff
mov al, 1
xor al, 0
mov ah, cl
and ah, 0
and bl, al
mov ch, dl
and ch, 0
and dh, al
or ah, bl
or ch, dh
xor ah, ch
mov byte [ebp - 0x2b2], ah
or cl, dl
xor cl, 0xff
mov byte [ebp - 0x2b1], cl
or al, 0
mov byte [ebp - 0x2b0], al
mov al, byte [ebp - 0x2b2]
mov dl, byte [ebp - 0x2b0]
mov cl, byte [ebp - 0x2b1]
and cl, dl
or al, cl
test al, 1
jne 0x10031b6a
jmp 0x1003208e
jmp 0x10031b6f
mov eax, dword [0x10060d38]
mov dword [ebp - 0x2c0], eax
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x2bc], ecx
sub eax, 0x8fea00e7
sub eax, 1
add eax, 0x8fea00e7
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2c0]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x2c3], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x2c2], cl
xor al, 0xff
mov byte [ebp - 0x2c1], al
mov al, byte [ebp - 0x2c2]
xor al, 0xff
mov byte [ebp - 0x2c5], al
mov al, 1
xor al, 0
mov byte [ebp - 0x2c4], al
mov al, byte [ebp - 0x2c4]
mov dl, byte [ebp - 0x2c5]
mov cl, byte [ebp - 0x2c1]
mov dh, byte [ebp - 0x2c2]
mov bl, byte [ebp - 0x2c3]
mov ah, cl
and ah, 0
and bl, al
mov ch, dl
and ch, 0
and dh, al
or ah, bl
or ch, dh
xor ah, ch
mov byte [ebp - 0x2c8], ah
or cl, dl
xor cl, 0xff
mov byte [ebp - 0x2c7], cl
or al, 0
mov byte [ebp - 0x2c6], al
mov al, byte [ebp - 0x2c8]
mov dl, byte [ebp - 0x2c6]
mov cl, byte [ebp - 0x2c7]
and cl, dl
or al, cl
mov byte [ebp - 0x2c9], al
mov al, byte [ebp - 0x2c9]
test al, 1
jne 0x10031c63
jmp 0x10031eb7
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [0x10060d38]
mov dword [ebp - 0x2d4], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2d4]
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x2d4]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x2d9], al
mov al, byte [ebp - 0x2d9]
mov ecx, dword [ebp - 0x2d0]
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x2db], dl
xor al, cl
mov byte [ebp - 0x2da], al
mov cl, byte [ebp - 0x2da]
mov al, byte [ebp - 0x2db]
or al, cl
test al, 1
jne 0x10031cf3
jmp 0x10031eb7
mov eax, dword [0x10060d38]
mov dword [ebp - 0x2e8], eax
mov ecx, dword [0x10060d34]
mov dword [ebp - 0x2e4], ecx
sub eax, 0x909c4ba5
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [ebp - 0x2e0]
sub ecx, 1
add ecx, 0x909c4ba5
imul eax, ecx
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
and eax, 1
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x2f0]
cmp ecx, 0
sete cl
mov byte [ebp - 0x2f2], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x2f1], al
mov cl, byte [ebp - 0x2f1]
mov al, byte [ebp - 0x2f2]
mov dl, al
and dl, cl
mov byte [ebp - 0x2f4], dl
xor al, cl
mov byte [ebp - 0x2f3], al
mov cl, byte [ebp - 0x2f3]
mov al, byte [ebp - 0x2f4]
or al, cl
test al, 1
jne 0x10031d9f
jmp 0x10032093
mov eax, dword [0x10060d38]
mov dword [ebp - 0x2fc], eax
mov eax, dword [0x10060d34]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2fc]
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x2fc]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x301], al
mov cl, byte [ebp - 0x301]
mov eax, dword [ebp - 0x2f8]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x302], al
mov al, byte [ebp - 0x302]
test al, 1
jne 0x10031e19
jmp 0x10032093
jmp 0x10031e1e
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x308]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x10030cae
jmp 0x100313a3
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xd4]
mov dword [eax], ecx
jmp 0x100306e8
xor eax, eax
lea eax, [0x10028d20]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x30c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
jmp 0x10030ec2
jmp 0x10031484
jmp 0x1003188e
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x310]
mov dword [eax], ecx
jmp 0x10031c63
push eax
push eax
mov eax, esp
mov dword [ebp - 0x31c], eax
sub esp, 0x40
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x318], eax
push eax
mov eax, esp
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x31c]
mov dword [eax], 0
mov eax, dword [ebp - 0x318]
sub esp, 8
mov dword [esp], 0x104
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov ecx, eax
mov eax, dword [ebp - 0x314]
mov dword [eax], ecx
mov eax, dword [eax]
jmp 0x1002ffc3
mov eax, dword [ebp - 0x34]
mov byte [eax + 3], 0
mov eax, dword [0x1005f2c0]
mov eax, dword [eax - 0x433bc731]
mov dword [ebp - 0x324], eax
mov eax, dword [0x1005f2c4]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x320]
mov eax, dword [eax - 0x433bc731]
mov dword [ebp - 0x330], eax
lea ecx, [0x1005fe68]
lea eax, [0x10058190]
add eax, 0x290
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037e30
mov eax, dword [ebp - 0x330]
add esp, 8
lea ecx, [0x1005fe68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x32c], eax
lea ecx, [0x1005fe4c]
lea eax, [0x10058190]
add eax, 0x251
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10037180
mov edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x324]
add esp, 8
lea ecx, [0x1005fe4c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x328]
mov dword [eax], esi
mov eax, dword [eax]
xor esi, esi
sub esp, 0x20
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call eax
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x334]
mov dword [eax], ecx
jmp 0x10030161
jmp 0x1003038f
jmp 0x100304ca
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xd4]
mov dword [eax], ecx
jmp 0x100307c5
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x338]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1003117d
jmp 0x100316f8
jmp 0x10031a97
jmp 0x10031d9f