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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x36c
mov eax, dword [0x1006ad48]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x10], ecx
mov ecx, eax
add ecx, 0xdf885358
sub ecx, 1
sub ecx, 0xdf885358
imul eax, ecx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x13], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x12], cl
xor al, 0xff
mov byte [ebp - 0x11], al
mov al, byte [ebp - 0x11]
mov ch, byte [ebp - 0x12]
mov dh, byte [ebp - 0x13]
mov cl, ch
xor cl, 0xff
mov bl, 1
xor bl, 0
mov byte [ebp - 0x16], bl
mov dl, al
and dl, 0
and dh, bl
mov ah, cl
and ah, 0
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [ebp - 0x15], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x14], al
mov al, byte [ebp - 0x16]
or al, 0
mov byte [ebp - 0x17], al
mov cl, byte [ebp - 0x17]
mov al, byte [ebp - 0x14]
and al, cl
mov byte [ebp - 0x18], al
mov cl, byte [ebp - 0x18]
mov al, byte [ebp - 0x15]
or al, cl
test al, 1
jne 0x1003b6cc
jmp 0x1003d159
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov ecx, esp
mov dword [ebp - 0x54], ecx
sub esp, 0x40
mov eax, esp
mov dword [ebp - 0x50], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x4c], eax
push eax
mov edx, esp
mov dword [ebp - 0x24], edx
sub esp, 0x14
mov edx, esp
mov dword [ebp - 0x48], edx
push eax
mov edx, esp
mov dword [ebp - 0x44], edx
sub esp, 0x190
mov edx, esp
mov dword [ebp - 0x40], edx
push eax
mov edx, esp
mov dword [ebp - 0x3c], edx
push eax
mov edx, esp
mov dword [ebp - 0x38], edx
push eax
mov edx, esp
mov dword [ebp - 0x34], edx
push eax
mov edx, esp
mov dword [ebp - 0x30], edx
push eax
mov edx, esp
mov dword [ebp - 0x2c], edx
push eax
mov edx, esp
mov dword [ebp - 0x28], edx
mov dword [ecx], 0
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 - 0x24]
mov dword [eax], ecx
cmp dword [eax], 0
seta al
mov byte [ebp - 0x1d], al
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x60], ecx
add eax, 0x4600085e
sub eax, 1
sub eax, 0x4600085e
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
imul eax, ecx
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
and eax, 1
cmp eax, 0
sete ah
cmp ecx, 0xa
setl al
mov ch, ah
xor ch, 0xff
mov byte [ebp - 0x6b], ch
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x6a], dl
mov cl, 1
xor cl, 0
mov byte [ebp - 0x69], cl
and ch, 0
mov byte [ebp - 0x68], ch
and ah, cl
mov byte [ebp - 0x67], ah
and dl, 0
mov byte [ebp - 0x66], dl
and al, cl
mov byte [ebp - 0x65], al
mov dl, byte [ebp - 0x69]
mov ah, byte [ebp - 0x6a]
mov cl, byte [ebp - 0x6b]
mov dh, byte [ebp - 0x65]
mov ch, byte [ebp - 0x66]
mov bl, byte [ebp - 0x67]
mov al, byte [ebp - 0x68]
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [ebp - 0x6c], al
mov al, byte [ebp - 0x6c]
test al, 1
jne 0x1003b805
jmp 0x1003d159
mov al, byte [ebp - 0x1d]
test al, 1
jne 0x1003b815
jmp 0x1003bbca
mov eax, dword [ebp - 0x4c]
mov byte [eax + 3], 0
mov eax, dword [0x100692c0]
mov eax, dword [eax + 0x61675744]
mov dword [ebp - 0x74], eax
mov eax, dword [0x100692c4]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add eax, 0x61675744
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
lea ecx, [0x10069e68]
lea eax, [0x10062190]
add eax, 0x283
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10042b30
add esp, 8
mov eax, dword [ebp - 0x7c]
lea ecx, [0x10069e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x80], eax
lea ecx, [0x10069e4c]
lea eax, [0x10062190]
add eax, 0x249
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10042a40
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x74]
add esp, 8
lea ecx, [0x10069e4c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
mov esi, eax
mov eax, dword [ebp - 0x38]
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 - 0x3c]
mov dword [eax], ecx
cmp dword [eax], 0
setne al
mov byte [ebp - 0x81], al
mov al, byte [ebp - 0x81]
test al, 1
jne 0x1003b92a
jmp 0x1003bad9
mov ecx, dword [0x1006ad48]
mov eax, dword [0x1006ad44]
mov edx, ecx
add edx, 0xaf71b64f
sub edx, 1
sub edx, 0xaf71b64f
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x88], al
mov ah, cl
xor ah, 0xff
mov byte [ebp - 0x87], ah
xor al, 0xff
mov byte [ebp - 0x86], al
mov dl, 1
xor dl, 0
mov byte [ebp - 0x85], dl
and ah, 0
mov byte [ebp - 0x84], ah
and cl, dl
mov byte [ebp - 0x83], cl
and al, 0
mov byte [ebp - 0x82], al
mov al, byte [ebp - 0x82]
mov ah, byte [ebp - 0x83]
mov dl, byte [ebp - 0x84]
mov ch, byte [ebp - 0x85]
mov cl, byte [ebp - 0x88]
and cl, ch
or dl, ah
mov byte [ebp - 0x8a], dl
or al, cl
mov byte [ebp - 0x89], al
mov cl, byte [ebp - 0x86]
mov al, byte [ebp - 0x87]
mov ah, byte [ebp - 0x89]
mov dl, byte [ebp - 0x8a]
xor dl, ah
mov byte [ebp - 0x8c], dl
or al, cl
mov byte [ebp - 0x8b], al
mov al, byte [ebp - 0x8b]
xor al, 0xff
mov byte [ebp - 0x8d], al
mov al, byte [ebp - 0x8c]
mov cl, byte [ebp - 0x8d]
mov dl, byte [ebp - 0x85]
or dl, 0
and cl, dl
or al, cl
mov byte [ebp - 0x8e], al
mov al, byte [ebp - 0x8e]
test al, 1
jne 0x1003ba2d
jmp 0x1003d35a
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x94], eax
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x1006ad44]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x9c]
sub eax, 0x88a309c0
sub eax, 1
add eax, 0x88a309c0
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0xa1], al
mov al, byte [ebp - 0xa1]
mov ecx, dword [ebp - 0x98]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0xa3], cl
and al, cl
mov byte [ebp - 0xa2], al
mov al, byte [ebp - 0xa2]
mov dl, byte [ebp - 0xa3]
mov cl, byte [ebp - 0xa1]
xor cl, dl
or al, cl
test al, 1
jne 0x1003bac8
jmp 0x1003d35a
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xa8], eax
jmp 0x1003bae6
xor eax, eax
mov dword [ebp - 0xa8], eax
jmp 0x1003bae6
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xac], eax
mov ecx, dword [0x1006ad48]
mov eax, dword [0x1006ad44]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1003bb2d
jmp 0x1003d58b
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xac]
mov dword [eax], ecx
mov eax, dword [0x1006ad48]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0xb8], ecx
sub eax, 0xd1075b33
sub eax, 1
add eax, 0xd1075b33
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb0]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0xb9], al
mov eax, dword [ebp - 0xb8]
cmp eax, 0xa
setl al
mov byte [ebp - 0xba], al
mov dl, byte [ebp - 0xba]
mov cl, byte [ebp - 0xb9]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0xbb], al
mov al, byte [ebp - 0xbb]
test al, 1
jne 0x1003bbc5
jmp 0x1003d58b
jmp 0x1003bbca
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x48]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10014bb0
add esp, 8
mov eax, dword [0x100692d0]
mov word [eax + 0x61675744], 0x32e
lea ecx, [0x1006a150]
lea eax, [0x10062190]
add eax, 0xa76
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100533c0
add esp, 8
lea ecx, [0x10069d50]
lea eax, [0x1006a150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [0x10069d10]
lea eax, [0x1006a150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0x100692c0]
mov eax, dword [eax + 0x61675744]
mov dword [ebp - 0xcc], eax
mov eax, dword [0x100692c4]
mov eax, dword [eax + 0x61675744]
mov dword [ebp - 0xc8], eax
lea ecx, [0x10069de8]
lea eax, [0x10062190]
add eax, 0xb6
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003f1a0
mov eax, dword [ebp - 0xc8]
add esp, 8
lea ecx, [0x10069de8]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0xc4], eax
lea ecx, [0x1006a16c]
lea eax, [0x10062190]
add eax, 0xac5
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10053a00
add esp, 8
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc4]
lea ecx, [0x1006a16c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, dword [ebp - 0x40]
mov edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
sub esp, 8
mov dword [esp], 0x202
mov dword [esp + 4], ecx
call dword [eax]
mov eax, dword [0x100692e8]
mov dword [eax + 0x61675744], 1
lea ecx, [0x1006a17c]
lea eax, [0x10062190]
add eax, 0xaf7
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10054060
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
add esp, 8
lea ecx, [0x1006a17c]
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 [0x100692c0]
mov eax, dword [eax + 0x61675744]
mov dword [ebp - 0xd4], eax
mov eax, dword [0x100692c4]
mov eax, dword [eax + 0x61675744]
mov dword [ebp - 0xdc], eax
lea ecx, [0x10069e68]
lea eax, [0x10062190]
add eax, 0x283
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10042b30
mov eax, dword [ebp - 0xdc]
add esp, 8
lea ecx, [0x10069e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0xd8], eax
lea ecx, [0x1006a18c]
lea eax, [0x10062190]
add eax, 0xb2f
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10054310
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
add esp, 8
lea ecx, [0x1006a18c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, dword [ebp - 0x50]
mov edx, eax
mov eax, dword [ebp - 0x30]
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 - 0x2c]
mov dword [ecx], eax
xor eax, eax
cmp eax, dword [ecx]
setne al
mov byte [ebp - 0xcd], al
mov al, byte [ebp - 0xcd]
test al, 1
jne 0x1003be53
jmp 0x1003cf6d
mov eax, dword [0x1006ad48]
mov dword [ebp - 0xe8], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0xe4], ecx
add eax, 0x19460b33
sub eax, 1
sub eax, 0x19460b33
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe8]
imul eax, ecx
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
and eax, 1
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0
sete cl
mov byte [ebp - 0xf2], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0xf1], al
mov cl, byte [ebp - 0xf1]
mov al, byte [ebp - 0xf2]
mov dl, al
and dl, cl
mov byte [ebp - 0xf4], dl
xor al, cl
mov byte [ebp - 0xf3], al
mov cl, byte [ebp - 0xf3]
mov al, byte [ebp - 0xf4]
or al, cl
test al, 1
jne 0x1003befe
jmp 0x1003d35f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov eax, 0xb7
cmp eax, ecx
sete al
mov byte [ebp - 0xfd], al
mov eax, dword [0x1006ad48]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0xfc], ecx
mov ecx, eax
sub ecx, 0x7b7572ef
sub ecx, 1
add ecx, 0x7b7572ef
imul eax, ecx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0xfe], al
mov eax, dword [ebp - 0xfc]
cmp eax, 0xa
setl al
mov byte [ebp - 0xff], al
mov al, byte [ebp - 0xff]
mov ah, byte [ebp - 0xfe]
mov ch, ah
xor ch, 0xff
mov byte [ebp - 0x106], ch
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x105], dl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x104], cl
and ch, 0xff
mov byte [ebp - 0x103], ch
and ah, cl
mov byte [ebp - 0x102], ah
and dl, 0xff
mov byte [ebp - 0x101], dl
and al, cl
mov byte [ebp - 0x100], al
mov cl, byte [ebp - 0x102]
mov al, byte [ebp - 0x103]
or al, cl
mov byte [ebp - 0x107], al
mov dl, byte [ebp - 0x104]
mov ah, byte [ebp - 0x105]
mov cl, byte [ebp - 0x106]
mov al, byte [ebp - 0x107]
mov dh, byte [ebp - 0x100]
mov ch, byte [ebp - 0x101]
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 0x1003c00c
jmp 0x1003d35f
mov al, byte [ebp - 0xfd]
test al, 1
jne 0x1003c01f
jmp 0x1003c35f
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x110], eax
mov eax, dword [0x1006ad44]
mov dword [ebp - 0x10c], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
add eax, ecx
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x110]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x119], al
mov eax, dword [ebp - 0x10c]
cmp eax, 0xa
setl al
mov byte [ebp - 0x11a], al
mov dl, byte [ebp - 0x11a]
mov cl, byte [ebp - 0x119]
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1003c0a5
jmp 0x1003d36a
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x128], eax
mov eax, dword [0x1006ad44]
mov dword [ebp - 0x124], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x120]
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x12c]
cmp eax, 0
sete al
mov byte [ebp - 0x12f], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x12e], cl
xor al, 0xff
mov byte [ebp - 0x12d], al
mov al, byte [ebp - 0x12e]
mov ah, byte [ebp - 0x12f]
mov ch, byte [ebp - 0x12d]
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x135], dl
mov cl, 1
xor cl, 0
mov byte [ebp - 0x134], cl
and ch, 0
mov byte [ebp - 0x133], ch
and ah, cl
mov byte [ebp - 0x132], ah
and dl, 0
mov byte [ebp - 0x131], dl
and al, cl
mov byte [ebp - 0x130], al
mov cl, byte [ebp - 0x134]
mov dl, byte [ebp - 0x135]
mov al, byte [ebp - 0x12d]
mov dh, byte [ebp - 0x130]
mov ch, byte [ebp - 0x131]
mov bl, byte [ebp - 0x132]
mov ah, byte [ebp - 0x133]
or ah, bl
or ch, dh
xor ah, ch
mov byte [ebp - 0x137], ah
or al, dl
xor al, 0xff
or cl, 0
and al, cl
mov byte [ebp - 0x136], al
mov cl, byte [ebp - 0x136]
mov al, byte [ebp - 0x137]
or al, cl
test al, 1
jne 0x1003c1d2
jmp 0x1003d36a
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x144], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x146], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x145], al
mov cl, byte [ebp - 0x146]
mov al, byte [ebp - 0x145]
mov ah, cl
xor ah, 0xff
mov byte [ebp - 0x14c], ah
xor al, 0xff
mov byte [ebp - 0x14b], al
mov dl, 1
xor dl, 0
mov byte [ebp - 0x14a], dl
and ah, 0
mov byte [ebp - 0x149], ah
and cl, dl
mov byte [ebp - 0x148], cl
and al, 0
mov byte [ebp - 0x147], al
mov cl, byte [ebp - 0x14a]
mov al, byte [ebp - 0x145]
and al, cl
mov byte [ebp - 0x14d], al
mov dl, byte [ebp - 0x14a]
mov ah, byte [ebp - 0x14b]
mov cl, byte [ebp - 0x14c]
mov dh, byte [ebp - 0x14d]
mov ch, byte [ebp - 0x147]
mov bl, byte [ebp - 0x148]
mov al, byte [ebp - 0x149]
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 0x1003c2cc
jmp 0x1003d59b
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x158], eax
mov eax, dword [0x1006ad44]
mov dword [ebp - 0x154], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x15c]
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x160]
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x162], dl
xor al, cl
mov byte [ebp - 0x161], al
mov cl, byte [ebp - 0x161]
mov al, byte [ebp - 0x162]
or al, cl
mov byte [ebp - 0x163], al
mov al, byte [ebp - 0x163]
test al, 1
jne 0x1003c35a
jmp 0x1003d59b
jmp 0x1003c35f
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
xor eax, eax
cmp eax, ecx
setne al
mov byte [ebp - 0x169], al
mov al, byte [ebp - 0x169]
test al, 1
jne 0x1003c390
jmp 0x1003cb62
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x174], eax
mov eax, dword [0x1006ad44]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x174]
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x174]
imul eax, ecx
and eax, 1
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x17c]
cmp ecx, 0
sete cl
mov byte [ebp - 0x17e], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x17d], al
mov dl, byte [ebp - 0x17d]
mov cl, byte [ebp - 0x17e]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x17f], al
mov al, byte [ebp - 0x17f]
test al, 1
jne 0x1003c422
jmp 0x1003d5a0
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x18c], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x188], ecx
sub eax, 0xca460e6a
sub eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
add eax, 0xca460e6a
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x18c]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x193], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x192], cl
and al, cl
mov byte [ebp - 0x191], al
mov cl, byte [ebp - 0x192]
mov al, byte [ebp - 0x193]
xor al, cl
mov byte [ebp - 0x194], al
mov cl, byte [ebp - 0x194]
mov al, byte [ebp - 0x191]
or al, cl
mov byte [ebp - 0x195], al
mov al, byte [ebp - 0x195]
test al, 1
jne 0x1003c4cb
jmp 0x1003d5a0
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x1a0], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a4]
imul eax, ecx
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x1a8]
and eax, 1
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1ac]
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 - 0x1ad], al
mov al, byte [ebp - 0x1ad]
test al, 1
jne 0x1003c54c
jmp 0x1003d395
xor eax, eax
lea eax, [0x1002f070]
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 - 0x28]
mov dword [ecx], eax
xor eax, eax
cmp eax, dword [ecx]
setne al
mov byte [ebp - 0x1b9], al
mov eax, dword [0x1006ad48]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x1b8], ecx
mov ecx, eax
add ecx, 0x7915d912
sub ecx, 1
sub ecx, 0x7915d912
imul eax, ecx
and eax, 1
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0
sete cl
mov byte [ebp - 0x1bd], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x1bc], al
xor cl, 0xff
mov byte [ebp - 0x1bb], cl
xor al, 0xff
mov byte [ebp - 0x1ba], al
mov al, 1
xor al, 1
mov byte [ebp - 0x1be], al
mov cl, byte [ebp - 0x1ba]
mov al, byte [ebp - 0x1bb]
mov bl, byte [ebp - 0x1be]
mov ch, byte [ebp - 0x1bc]
mov dh, byte [ebp - 0x1bd]
mov dl, al
and dl, 0xff
and dh, bl
mov ah, cl
and ah, 0xff
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [ebp - 0x1c0], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x1bf], al
mov al, byte [ebp - 0x1bf]
mov cl, byte [ebp - 0x1be]
or cl, 1
and al, cl
mov byte [ebp - 0x1c1], al
mov cl, byte [ebp - 0x1c1]
mov al, byte [ebp - 0x1c0]
or al, cl
test al, 1
jne 0x1003c67b
jmp 0x1003d395
mov al, byte [ebp - 0x1b9]
test al, 1
jne 0x1003c68e
jmp 0x1003c826
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x1cc], ecx
add eax, 0x4252c4d8
sub eax, 1
sub eax, 0x4252c4d8
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1d0]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x1d5], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x1d4], al
xor cl, 0xff
mov byte [ebp - 0x1d3], cl
xor al, 0xff
mov byte [ebp - 0x1d2], al
mov al, 1
xor al, 1
mov byte [ebp - 0x1d1], al
mov al, byte [ebp - 0x1d2]
mov dl, byte [ebp - 0x1d1]
mov cl, byte [ebp - 0x1d5]
mov ah, byte [ebp - 0x1d3]
and ah, 0xff
mov byte [ebp - 0x1d8], ah
and cl, dl
mov byte [ebp - 0x1d7], cl
and al, 0xff
mov byte [ebp - 0x1d6], al
mov cl, byte [ebp - 0x1d7]
mov al, byte [ebp - 0x1d8]
mov ah, byte [ebp - 0x1d1]
mov dl, byte [ebp - 0x1d4]
and dl, ah
mov byte [ebp - 0x1da], dl
or al, cl
mov byte [ebp - 0x1d9], al
mov dl, byte [ebp - 0x1d1]
mov ah, byte [ebp - 0x1d2]
mov cl, byte [ebp - 0x1d3]
mov al, byte [ebp - 0x1d9]
mov dh, byte [ebp - 0x1da]
mov ch, byte [ebp - 0x1d6]
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 0x1003c79d
jmp 0x1003d5a5
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x58]
mov dword [eax], 1
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x1e4], eax
mov eax, dword [0x1006ad44]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e4]
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
cmp eax, 0
sete al
mov byte [ebp - 0x1e9], al
mov cl, byte [ebp - 0x1e9]
mov eax, dword [ebp - 0x1e0]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1003c821
jmp 0x1003d5a5
jmp 0x1003d141
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x1f8], ecx
mov ecx, eax
sub ecx, 0x94a02b0c
sub ecx, 1
add ecx, 0x94a02b0c
imul eax, ecx
and eax, 1
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1f4]
cmp eax, 0
sete al
mov byte [ebp - 0x1f9], al
mov al, byte [ebp - 0x1f9]
mov ecx, dword [ebp - 0x1f8]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x1fe], cl
xor al, 0xff
mov byte [ebp - 0x1fd], al
xor cl, 0xff
mov byte [ebp - 0x1fc], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x1fb], cl
and al, 0xff
mov byte [ebp - 0x1fa], al
mov dl, byte [ebp - 0x1fa]
mov ch, byte [ebp - 0x1fb]
mov cl, byte [ebp - 0x1fe]
mov al, byte [ebp - 0x1fc]
mov ah, byte [ebp - 0x1f9]
and ah, ch
and al, 0xff
and cl, ch
or dl, ah
mov byte [ebp - 0x200], dl
or al, cl
mov byte [ebp - 0x1ff], al
mov dl, byte [ebp - 0x1fb]
mov ah, byte [ebp - 0x1fc]
mov cl, byte [ebp - 0x1fd]
mov ch, byte [ebp - 0x1ff]
mov al, byte [ebp - 0x200]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x1003c91b
jmp 0x1003d3ec
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x204], eax
mov eax, dword [0x1006ad44]
mov dword [ebp - 0x20c], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x204]
mov esi, dword [ebp - 0x208]
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x20e], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x20d], al
mov dl, byte [ebp - 0x20d]
mov cl, byte [ebp - 0x20e]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x20f], al
mov al, byte [ebp - 0x20f]
test al, 1
jne 0x1003c9ae
jmp 0x1003d3ec
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x218], eax
mov eax, dword [0x1006ad44]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x218]
add eax, 0x670cd0ce
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x21c]
sub ecx, 1
sub ecx, 0x670cd0ce
imul eax, ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x220]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x222], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x221], al
mov cl, byte [ebp - 0x221]
mov al, byte [ebp - 0x222]
mov dl, al
and dl, cl
mov byte [ebp - 0x224], dl
xor al, cl
mov byte [ebp - 0x223], al
mov cl, byte [ebp - 0x223]
mov al, byte [ebp - 0x224]
or al, cl
test al, 1
jne 0x1003ca53
jmp 0x1003d5d0
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x230], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x22c], ecx
add eax, 0xf8ab9458
sub eax, 1
sub eax, 0xf8ab9458
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x230]
imul eax, ecx
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x234]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x238], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x237], al
xor cl, 0xff
mov byte [ebp - 0x236], cl
xor al, 0xff
mov byte [ebp - 0x235], al
mov al, byte [ebp - 0x235]
mov cl, byte [ebp - 0x238]
mov ah, byte [ebp - 0x236]
mov dl, 1
xor dl, 0
mov byte [ebp - 0x23c], dl
and ah, 0
mov byte [ebp - 0x23b], ah
and cl, dl
mov byte [ebp - 0x23a], cl
and al, 0
mov byte [ebp - 0x239], al
mov cl, byte [ebp - 0x23c]
mov al, byte [ebp - 0x237]
and al, cl
mov byte [ebp - 0x23d], al
mov dl, byte [ebp - 0x23c]
mov ah, byte [ebp - 0x235]
mov cl, byte [ebp - 0x236]
mov dh, byte [ebp - 0x23d]
mov ch, byte [ebp - 0x239]
mov bl, byte [ebp - 0x23a]
mov al, byte [ebp - 0x23b]
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 0x1003cb5d
jmp 0x1003d5d0
jmp 0x1003cb62
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x24c], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x248], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x248]
mov edx, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x24c]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x24e], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x24d], al
mov cl, byte [ebp - 0x24e]
mov al, byte [ebp - 0x24d]
mov ah, cl
xor ah, 0xff
mov byte [ebp - 0x254], ah
xor al, 0xff
mov byte [ebp - 0x253], al
mov dl, 1
xor dl, 0
mov byte [ebp - 0x252], dl
and ah, 0
mov byte [ebp - 0x251], ah
and cl, dl
mov byte [ebp - 0x250], cl
and al, 0
mov byte [ebp - 0x24f], al
mov cl, byte [ebp - 0x252]
mov al, byte [ebp - 0x24d]
and al, cl
mov byte [ebp - 0x255], al
mov dl, byte [ebp - 0x252]
mov ah, byte [ebp - 0x253]
mov cl, byte [ebp - 0x254]
mov dh, byte [ebp - 0x255]
mov ch, byte [ebp - 0x24f]
mov bl, byte [ebp - 0x250]
mov al, byte [ebp - 0x251]
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [ebp - 0x256], al
mov al, byte [ebp - 0x256]
test al, 1
jne 0x1003cc62
jmp 0x1003d33a
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x264], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x260], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x264]
imul eax, ecx
and eax, 1
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
cmp eax, 0
sete al
mov byte [ebp - 0x269], al
mov al, byte [ebp - 0x269]
mov ecx, dword [ebp - 0x260]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x26b], cl
and al, cl
mov byte [ebp - 0x26a], al
mov al, byte [ebp - 0x26a]
mov dl, byte [ebp - 0x26b]
mov cl, byte [ebp - 0x269]
xor cl, dl
or al, cl
mov byte [ebp - 0x26c], al
mov al, byte [ebp - 0x26c]
test al, 1
jne 0x1003ccff
jmp 0x1003d586
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x278], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x274], ecx
sub eax, 0x92e3f108
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x270]
sub eax, 1
add eax, 0x92e3f108
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x278]
imul eax, ecx
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x280]
and eax, 1
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x284]
cmp eax, 0
sete al
mov byte [ebp - 0x287], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x286], cl
and al, cl
mov byte [ebp - 0x285], al
mov al, byte [ebp - 0x285]
mov dl, byte [ebp - 0x286]
mov cl, byte [ebp - 0x287]
xor cl, dl
or al, cl
test al, 1
jne 0x1003cda8
jmp 0x1003d5d5
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x294], ecx
sub eax, 0xd6ece016
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x290]
sub ecx, 1
add ecx, 0xd6ece016
imul eax, ecx
and eax, 1
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x298]
cmp eax, 0
sete al
mov byte [ebp - 0x299], al
mov eax, dword [ebp - 0x294]
cmp eax, 0xa
setl al
mov byte [ebp - 0x29a], al
mov dl, byte [ebp - 0x29a]
mov cl, byte [ebp - 0x299]
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1003ce36
jmp 0x1003d5d5
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x2a8], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x2aa], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x2a9], al
mov cl, byte [ebp - 0x2a9]
mov al, byte [ebp - 0x2aa]
and al, cl
mov byte [ebp - 0x2ab], al
mov cl, byte [ebp - 0x2a9]
mov al, byte [ebp - 0x2aa]
xor al, cl
mov byte [ebp - 0x2ac], al
mov cl, byte [ebp - 0x2ac]
mov al, byte [ebp - 0x2ab]
or al, cl
test al, 1
jne 0x1003cecf
jmp 0x1003d586
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x2b8], ecx
add eax, 0xa387920f
sub eax, 1
sub eax, 0xa387920f
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2b0]
imul eax, ecx
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x2bc]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x2be], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x2bd], al
mov dl, byte [ebp - 0x2bd]
mov cl, byte [ebp - 0x2be]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x2bf], al
mov al, byte [ebp - 0x2bf]
test al, 1
jne 0x1003cf68
jmp 0x1003d33a
jmp 0x1003cf6d
mov eax, dword [0x1006ad48]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x2c8], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x2c4]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x2cb], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x2ca], cl
xor al, 0xff
mov byte [ebp - 0x2c9], al
mov al, byte [ebp - 0x2ca]
xor al, 0xff
mov byte [ebp - 0x2cd], al
mov al, 1
xor al, 1
mov byte [ebp - 0x2cc], al
mov ch, byte [ebp - 0x2cc]
mov cl, byte [ebp - 0x2ca]
mov al, byte [ebp - 0x2cd]
mov ah, byte [ebp - 0x2cb]
mov dl, byte [ebp - 0x2c9]
and dl, 0xff
and ah, ch
and al, 0xff
and cl, ch
or dl, ah
mov byte [ebp - 0x2cf], dl
or al, cl
mov byte [ebp - 0x2ce], al
mov dl, byte [ebp - 0x2cc]
mov ah, byte [ebp - 0x2cd]
mov cl, byte [ebp - 0x2c9]
mov ch, byte [ebp - 0x2ce]
mov al, byte [ebp - 0x2cf]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
mov byte [ebp - 0x2d0], al
mov al, byte [ebp - 0x2d0]
test al, 1
jne 0x1003d053
jmp 0x1003d33f
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x2dc], ecx
add eax, 0x442c7646
sub eax, 1
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d8]
sub ecx, 0x442c7646
imul eax, ecx
and eax, 1
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x2e0]
cmp ecx, 0
sete cl
mov byte [ebp - 0x2e2], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x2e1], al
mov dl, byte [ebp - 0x2e1]
mov ah, byte [ebp - 0x2e2]
mov al, ah
xor al, 0xff
mov byte [ebp - 0x2e6], al
mov cl, dl
xor cl, 0xff
mov byte [ebp - 0x2e5], cl
mov ch, 1
xor ch, 1
mov byte [ebp - 0x2e4], ch
and al, 0xff
and ah, ch
and cl, 0xff
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [ebp - 0x2e3], al
mov al, byte [ebp - 0x2e3]
mov dl, byte [ebp - 0x2e4]
mov ah, byte [ebp - 0x2e5]
mov cl, byte [ebp - 0x2e6]
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x1003d13c
jmp 0x1003d33f
jmp 0x1003d141
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x2f8], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x2f4], ecx
add eax, 0x1942e428
sub eax, 1
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2f0]
sub ecx, 0x1942e428
imul eax, ecx
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x2fd], al
mov cl, byte [ebp - 0x2fd]
mov eax, dword [ebp - 0x2f4]
cmp eax, 0xa
setl al
mov byte [ebp - 0x304], al
mov ah, cl
xor ah, 0xff
mov byte [ebp - 0x303], ah
xor al, 0xff
mov byte [ebp - 0x302], al
mov dl, 1
xor dl, 1
mov byte [ebp - 0x301], dl
and ah, 0xff
mov byte [ebp - 0x300], ah
and cl, dl
mov byte [ebp - 0x2ff], cl
and al, 0xff
mov byte [ebp - 0x2fe], al
mov cl, byte [ebp - 0x302]
mov al, byte [ebp - 0x303]
mov ah, byte [ebp - 0x2fe]
mov dh, byte [ebp - 0x2ff]
mov dl, byte [ebp - 0x300]
mov bl, byte [ebp - 0x301]
mov ch, byte [ebp - 0x304]
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [ebp - 0x306], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x305], al
mov al, byte [ebp - 0x306]
mov cl, byte [ebp - 0x305]
mov dl, byte [ebp - 0x301]
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x1003d265
jmp 0x1003d5da
push eax
push eax
mov eax, esp
mov dword [ebp - 0x30c], eax
sub esp, 0x40
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x314], eax
push eax
mov eax, esp
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x314]
mov ecx, dword [ebp - 0x30c]
mov dword [ecx], 0
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 - 0x310]
mov dword [eax], ecx
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x320], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x31c], ecx
sub eax, 0x289eed98
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x318]
sub ecx, 1
add ecx, 0x289eed98
imul eax, ecx
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x324]
and eax, 1
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x328]
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1003d335
jmp 0x1003d5da
jmp 0x1003b6cc
jmp 0x1003cc62
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x32c]
mov dword [eax], ecx
jmp 0x1003d053
jmp 0x1003ba2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1003befe
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x330]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
jmp 0x1003c0a5
xor eax, eax
lea eax, [0x1002f070]
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 - 0x334], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x334]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
jmp 0x1003c54c
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x340], eax
mov ecx, dword [0x1006ad44]
mov dword [ebp - 0x33c], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x340]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x341], al
mov cl, byte [ebp - 0x341]
mov eax, dword [ebp - 0x33c]
cmp eax, 0xa
setl al
mov byte [ebp - 0x344], al
xor cl, 0xff
mov byte [ebp - 0x343], cl
xor al, 0xff
mov byte [ebp - 0x342], al
mov dl, byte [ebp - 0x344]
mov ch, byte [ebp - 0x342]
mov cl, byte [ebp - 0x341]
mov al, byte [ebp - 0x343]
mov ah, 1
xor ah, 1
mov byte [ebp - 0x348], ah
and al, 0xff
and cl, ah
and ch, 0xff
mov byte [ebp - 0x347], ch
and dl, ah
mov byte [ebp - 0x346], dl
or al, cl
mov byte [ebp - 0x345], al
mov cl, byte [ebp - 0x342]
mov al, byte [ebp - 0x343]
mov dl, byte [ebp - 0x345]
mov ch, byte [ebp - 0x346]
mov ah, byte [ebp - 0x347]
or ah, ch
xor dl, ah
mov byte [ebp - 0x34a], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x349], al
mov al, byte [ebp - 0x34a]
mov cl, byte [ebp - 0x349]
mov dl, byte [ebp - 0x348]
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x1003d4ef
jmp 0x1003d632
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1006ad48]
mov dword [ebp - 0x350], eax
mov eax, dword [0x1006ad44]
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x350]
sub eax, 0x6ec88f38
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x358]
sub ecx, 1
add ecx, 0x6ec88f38
imul eax, ecx
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x35c]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x35d], al
mov cl, byte [ebp - 0x35d]
mov eax, dword [ebp - 0x354]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1003d581
jmp 0x1003d632
jmp 0x1003c91b
jmp 0x1003ccff
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xac]
mov dword [eax], ecx
jmp 0x1003bb2d
jmp 0x1003c2cc
jmp 0x1003c422
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0x364]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x58]
mov dword [eax], 1
jmp 0x1003c79d
jmp 0x1003ca53
jmp 0x1003cda8
push eax
push eax
mov eax, esp
mov dword [ebp - 0x368], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x370], eax
push eax
mov eax, esp
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x370]
mov ecx, dword [ebp - 0x368]
mov dword [ecx], 0
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 - 0x36c]
mov dword [eax], ecx
mov eax, dword [eax]
jmp 0x1003d265
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x374]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1003d4ef