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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x314
push eax
sub esp, 0x3c
mov eax, esp
mov dword [ebp - 0x18], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x14], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x38], eax
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
sub esp, 0x190
mov eax, esp
mov dword [ebp - 0x30], eax
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
push eax
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 - 0x1c], eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, esp
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x10], 0
sub esp, 8
mov dword [esp], 0x104
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x3c]
cmp dword [eax], 0
jbe 0x10031dbc
mov eax, dword [ebp - 0x14]
mov byte [eax + 3], 0
mov eax, dword [0x100622c0]
mov eax, dword [eax + 0x2ec34e96]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x100622c4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x2ec34e96
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
lea ecx, [0x10062e68]
lea eax, [0x1005b190]
add eax, 0x299
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a790
mov eax, dword [ebp - 0x58]
add esp, 8
lea ecx, [0x10062e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x54], eax
lea ecx, [0x10062e4c]
lea eax, [0x1005b190]
add eax, 0x251
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a180
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
add esp, 8
lea ecx, [0x10062e4c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
mov esi, eax
mov eax, dword [ebp - 0x28]
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 - 0x5c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
cmp dword [eax], 0
je 0x10031da4
mov eax, dword [0x10063d58]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x68], ecx
add eax, 0x45b7a7b
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
sub ecx, 1
sub ecx, 0x45b7a7b
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x69], al
mov eax, dword [ebp - 0x68]
cmp eax, 0xa
setl al
mov byte [ebp - 0x6a], al
mov dl, byte [ebp - 0x6a]
mov cl, byte [ebp - 0x69]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x6b], al
mov al, byte [ebp - 0x6b]
test al, 1
jne 0x10031d21
jmp 0x10033830
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
mov eax, dword [0x10063d58]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x78], ecx
mov ecx, eax
add ecx, 0x3baa0ba5
sub ecx, 1
sub ecx, 0x3baa0ba5
imul eax, ecx
and eax, 1
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
cmp ecx, 0
sete cl
mov byte [ebp - 0x7a], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x79], al
mov cl, byte [ebp - 0x79]
mov al, byte [ebp - 0x7a]
mov dl, al
and dl, cl
mov byte [ebp - 0x7c], dl
xor al, cl
mov byte [ebp - 0x7b], al
mov cl, byte [ebp - 0x7b]
mov al, byte [ebp - 0x7c]
or al, cl
mov byte [ebp - 0x7d], al
mov al, byte [ebp - 0x7d]
test al, 1
jne 0x10031d96
jmp 0x10033830
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x84], eax
jmp 0x10031db1
xor eax, eax
mov dword [ebp - 0x84], eax
jmp 0x10031db1
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [0x10063d58]
mov dword [ebp - 0x90], eax
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x8c], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
xor al, 0xff
mov byte [ebp - 0x96], al
mov ch, dl
xor ch, 0xff
mov byte [ebp - 0x95], ch
mov ah, 1
xor ah, 0
mov byte [ebp - 0x94], ah
and al, 0
and cl, ah
and ch, 0
mov byte [ebp - 0x93], ch
and dl, ah
mov byte [ebp - 0x92], dl
or al, cl
mov byte [ebp - 0x91], al
mov al, byte [ebp - 0x91]
mov dl, byte [ebp - 0x92]
mov cl, byte [ebp - 0x93]
or cl, dl
xor al, cl
mov byte [ebp - 0x97], al
mov al, byte [ebp - 0x94]
mov dl, byte [ebp - 0x95]
mov cl, byte [ebp - 0x96]
or cl, dl
xor cl, 0xff
mov byte [ebp - 0x99], cl
or al, 0
mov byte [ebp - 0x98], al
mov al, byte [ebp - 0x97]
mov dl, byte [ebp - 0x98]
mov cl, byte [ebp - 0x99]
and cl, dl
or al, cl
mov byte [ebp - 0x9a], al
mov al, byte [ebp - 0x9a]
test al, 1
jne 0x10031eb1
jmp 0x10033835
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000f860
add esp, 8
mov eax, dword [0x100622d0]
mov word [eax + 0x2ec34e96], 0x32b
lea ecx, [0x10063150]
lea eax, [0x1005b190]
add eax, 0xa94
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004c610
add esp, 8
lea ecx, [0x10062d50]
lea eax, [0x10063150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [0x10062d10]
lea eax, [0x10063150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0x100622c0]
add eax, 0x2ec34e96
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x100622c4]
mov eax, dword [eax + 0x2ec34e96]
mov dword [ebp - 0xa4], eax
lea ecx, [0x10062de8]
lea eax, [0x1005b190]
add eax, 0xbe
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10036340
mov eax, dword [ebp - 0xa4]
add esp, 8
lea ecx, [0x10062de8]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0xb0], eax
lea ecx, [0x1006316c]
lea eax, [0x1005b190]
add eax, 0xacd
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004c8f0
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa8]
add esp, 8
lea ecx, [0x1006316c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, dword [ebp - 0x30]
mov edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], edx
sub esp, 8
mov dword [esp], 0x202
mov dword [esp + 4], ecx
call dword [eax]
mov eax, dword [0x100622e8]
mov dword [eax + 0x2ec34e96], 1
lea ecx, [0x1006317c]
lea eax, [0x1005b190]
add eax, 0xb04
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004cb30
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
add esp, 8
lea ecx, [0x1006317c]
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 [0x100622c0]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x2ec34e96]
mov dword [ebp - 0xb8], eax
mov eax, dword [0x100622c4]
mov eax, dword [eax + 0x2ec34e96]
mov dword [ebp - 0xc0], eax
lea ecx, [0x10062e68]
lea eax, [0x1005b190]
add eax, 0x299
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a790
mov eax, dword [ebp - 0xc0]
add esp, 8
lea ecx, [0x10062e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0xbc], eax
lea ecx, [0x1006318c]
lea eax, [0x1005b190]
add eax, 0xb40
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004d0e0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
add esp, 8
lea ecx, [0x1006318c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, dword [ebp - 0x18]
mov edx, eax
mov eax, dword [ebp - 0x20]
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 - 0x1c]
mov dword [ecx], eax
xor eax, eax
cmp eax, dword [ecx]
setne al
mov byte [ebp - 0xb4], al
mov eax, dword [0x10063d58]
mov ecx, dword [0x10063d54]
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 - 0xb3], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0xb2], cl
xor al, 0xff
mov byte [ebp - 0xb1], al
mov cl, byte [ebp - 0xb1]
mov dh, byte [ebp - 0xb2]
mov bl, byte [ebp - 0xb3]
mov ah, dh
xor ah, 0xff
mov dl, 1
xor dl, 1
mov al, cl
and al, 0xff
and bl, dl
mov ch, ah
and ch, 0xff
and dh, dl
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 0x100321b6
jmp 0x10033835
mov al, byte [ebp - 0xb4]
test al, 1
jne 0x100321c9
jmp 0x10032dfd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
mov eax, 0xb7
cmp eax, ecx
sete al
mov byte [ebp - 0xc5], al
mov al, byte [ebp - 0xc5]
test al, 1
jne 0x100321fe
jmp 0x10032392
mov eax, dword [0x10063d58]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0xcc], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0xc6], al
mov ah, byte [ebp - 0xc6]
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0xa
setl al
mov ch, ah
xor ch, 0xff
mov byte [ebp - 0xd3], ch
mov dl, al
xor dl, 0xff
mov byte [ebp - 0xd2], dl
mov cl, 1
xor cl, 0
mov byte [ebp - 0xd1], cl
and ch, 0
mov byte [ebp - 0xd0], ch
and ah, cl
mov byte [ebp - 0xcf], ah
and dl, 0
mov byte [ebp - 0xce], dl
and al, cl
mov byte [ebp - 0xcd], al
mov cl, byte [ebp - 0xcf]
mov al, byte [ebp - 0xd0]
or al, cl
mov byte [ebp - 0xd4], al
mov cl, byte [ebp - 0xcd]
mov al, byte [ebp - 0xce]
or al, cl
mov byte [ebp - 0xd5], al
mov cl, byte [ebp - 0xd5]
mov al, byte [ebp - 0xd4]
xor al, cl
mov byte [ebp - 0xd6], al
mov al, byte [ebp - 0xd6]
mov dl, byte [ebp - 0xd1]
mov ah, byte [ebp - 0xd2]
mov cl, byte [ebp - 0xd3]
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x100322ec
jmp 0x10033aa5
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
mov eax, dword [0x10063d58]
mov dword [ebp - 0xe4], eax
mov ecx, dword [0x10063d54]
mov dword [ebp - 0xe0], ecx
add eax, 0xedc0f8cb
sub eax, 1
sub eax, 0xedc0f8cb
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe4]
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 - 0xe6], dl
xor al, cl
mov byte [ebp - 0xe5], al
mov cl, byte [ebp - 0xe5]
mov al, byte [ebp - 0xe6]
or al, cl
mov byte [ebp - 0xe7], al
mov al, byte [ebp - 0xe7]
test al, 1
jne 0x1003238d
jmp 0x10033aa5
jmp 0x10032392
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
xor eax, eax
cmp eax, ecx
setne al
mov byte [ebp - 0xed], al
mov al, byte [ebp - 0xed]
test al, 1
jne 0x100323c3
jmp 0x10032bda
mov eax, dword [0x10063d58]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0xfc], ecx
sub eax, 0xc182fc1a
sub eax, 1
add eax, 0xc182fc1a
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf4]
imul eax, ecx
and eax, 1
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x102], dl
xor al, cl
mov byte [ebp - 0x101], al
mov cl, byte [ebp - 0x101]
mov al, byte [ebp - 0x102]
or al, cl
mov byte [ebp - 0x103], al
mov al, byte [ebp - 0x103]
test al, 1
jne 0x1003245c
jmp 0x10033544
xor eax, eax
lea eax, [0x10027a70]
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, eax
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
xor eax, eax
cmp eax, ecx
setne al
mov byte [ebp - 0x109], al
mov ecx, dword [0x10063d58]
mov eax, dword [0x10063d54]
mov edx, ecx
add edx, 0xbf0ded77
sub edx, 1
sub edx, 0xbf0ded77
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x10d], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x10c], al
xor cl, 0xff
mov byte [ebp - 0x10b], cl
xor al, 0xff
mov byte [ebp - 0x10a], al
mov cl, byte [ebp - 0x10c]
mov al, byte [ebp - 0x10a]
mov ah, byte [ebp - 0x10d]
mov dl, byte [ebp - 0x10b]
mov ch, 1
xor ch, 0
mov byte [ebp - 0x110], ch
and dl, 0
and ah, ch
and al, 0
and cl, ch
or dl, ah
mov byte [ebp - 0x10f], dl
or al, cl
mov byte [ebp - 0x10e], al
mov dl, byte [ebp - 0x110]
mov ah, byte [ebp - 0x10a]
mov cl, byte [ebp - 0x10b]
mov ch, byte [ebp - 0x10e]
mov al, byte [ebp - 0x10f]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1003257d
jmp 0x10033544
mov eax, dword [0x10063d58]
mov dword [ebp - 0x118], eax
mov eax, dword [0x10063d54]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x118]
sub eax, 0xa18f756
sub eax, 1
add eax, 0xa18f756
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x11e], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x11d], al
mov cl, byte [ebp - 0x11d]
mov al, byte [ebp - 0x11e]
mov dl, al
and dl, cl
mov byte [ebp - 0x120], dl
xor al, cl
mov byte [ebp - 0x11f], al
mov cl, byte [ebp - 0x11f]
mov al, byte [ebp - 0x120]
or al, cl
mov byte [ebp - 0x121], al
mov al, byte [ebp - 0x121]
test al, 1
jne 0x10032621
jmp 0x100337cc
mov eax, dword [0x10063d58]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x130], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x12c]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x131], al
mov al, byte [ebp - 0x131]
mov ecx, dword [ebp - 0x130]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x133], cl
and al, cl
mov byte [ebp - 0x132], al
mov al, byte [ebp - 0x132]
mov dl, byte [ebp - 0x133]
mov cl, byte [ebp - 0x131]
xor cl, dl
or al, cl
mov byte [ebp - 0x134], al
mov al, byte [ebp - 0x134]
test al, 1
jne 0x100326b4
jmp 0x100337cc
mov al, byte [ebp - 0x109]
test al, 1
jne 0x100326c7
jmp 0x100326f0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc], 1
jmp 0x10033412
mov eax, dword [0x10063d58]
mov ecx, dword [0x10063d54]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete ah
cmp ecx, 0xa
setl cl
mov dl, ah
xor dl, 0xff
mov byte [ebp - 0x13d], dl
mov al, cl
xor al, 0xff
mov byte [ebp - 0x13c], al
mov ch, 1
xor ch, 0
mov byte [ebp - 0x13b], ch
and dl, 0
and ah, ch
and al, 0
and cl, ch
or dl, ah
mov byte [ebp - 0x13a], dl
or al, cl
mov byte [ebp - 0x139], al
mov cl, byte [ebp - 0x139]
mov al, byte [ebp - 0x13a]
xor al, cl
mov byte [ebp - 0x13e], al
mov cl, byte [ebp - 0x13c]
mov al, byte [ebp - 0x13d]
or al, cl
xor al, 0xff
mov byte [ebp - 0x13f], al
mov al, byte [ebp - 0x13b]
or al, 0
mov byte [ebp - 0x140], al
mov al, byte [ebp - 0x13e]
mov dl, byte [ebp - 0x140]
mov cl, byte [ebp - 0x13f]
and cl, dl
or al, cl
mov byte [ebp - 0x141], al
mov al, byte [ebp - 0x141]
test al, 1
jne 0x100327b6
jmp 0x1003359b
mov eax, dword [0x10063d58]
mov dword [ebp - 0x150], eax
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x14c], ecx
sub eax, 0x54b80458
sub eax, 1
add eax, 0x54b80458
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x150]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x156], cl
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x155], dl
xor cl, 0xff
mov byte [ebp - 0x154], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x153], cl
and dl, 0xff
mov byte [ebp - 0x152], dl
and al, cl
mov byte [ebp - 0x151], al
mov al, byte [ebp - 0x154]
and al, 0xff
mov byte [ebp - 0x157], al
mov cl, byte [ebp - 0x157]
mov ah, byte [ebp - 0x151]
mov al, byte [ebp - 0x152]
mov ch, byte [ebp - 0x153]
mov dl, byte [ebp - 0x156]
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [ebp - 0x158], al
mov cl, byte [ebp - 0x154]
mov al, byte [ebp - 0x155]
or al, cl
xor al, 0xff
mov byte [ebp - 0x159], al
mov al, byte [ebp - 0x158]
mov cl, byte [ebp - 0x159]
mov dl, byte [ebp - 0x153]
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x100328b0
jmp 0x100337d1
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x10063d58]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x160]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x168], ecx
mov ecx, eax
sub ecx, 0xbecd83a1
sub ecx, 1
add ecx, 0xbecd83a1
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x161], al
mov eax, dword [ebp - 0x168]
cmp eax, 0xa
setl al
mov byte [ebp - 0x169], al
mov cl, byte [ebp - 0x161]
mov al, byte [ebp - 0x169]
mov ah, cl
xor ah, 0xff
mov byte [ebp - 0x16f], ah
xor al, 0xff
mov byte [ebp - 0x16e], al
mov dl, 1
xor dl, 1
mov byte [ebp - 0x16d], dl
and ah, 0xff
mov byte [ebp - 0x16c], ah
and cl, dl
mov byte [ebp - 0x16b], cl
and al, 0xff
mov byte [ebp - 0x16a], al
mov cl, byte [ebp - 0x16a]
mov ah, byte [ebp - 0x16b]
mov al, byte [ebp - 0x16c]
mov ch, byte [ebp - 0x16d]
mov dl, byte [ebp - 0x169]
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [ebp - 0x170], al
mov al, byte [ebp - 0x170]
mov dl, byte [ebp - 0x16d]
mov ah, byte [ebp - 0x16e]
mov cl, byte [ebp - 0x16f]
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x100329b3
jmp 0x100337d1
mov eax, dword [0x10063d58]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x17c], ecx
add eax, 0x960b82f2
sub eax, 1
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x178]
sub ecx, 0x960b82f2
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x17d], al
mov eax, dword [ebp - 0x17c]
cmp eax, 0xa
setl al
mov byte [ebp - 0x17e], al
mov dl, byte [ebp - 0x17e]
mov cl, byte [ebp - 0x17d]
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 0x10032a41
jmp 0x1003359b
mov eax, dword [0x10063d58]
mov dword [ebp - 0x18c], eax
mov eax, dword [0x10063d54]
mov dword [ebp - 0x188], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x184]
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x191], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x190], al
xor cl, 0xff
mov byte [ebp - 0x18f], cl
xor al, 0xff
mov byte [ebp - 0x18e], al
mov al, 1
xor al, 0
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x18f]
and al, 0
mov byte [ebp - 0x192], al
mov dl, byte [ebp - 0x192]
mov ch, byte [ebp - 0x18d]
mov cl, byte [ebp - 0x190]
mov al, byte [ebp - 0x18e]
mov ah, byte [ebp - 0x191]
and ah, ch
and al, 0
and cl, ch
or dl, ah
mov byte [ebp - 0x194], dl
or al, cl
mov byte [ebp - 0x193], al
mov cl, byte [ebp - 0x18e]
mov al, byte [ebp - 0x18f]
mov ah, byte [ebp - 0x193]
mov dl, byte [ebp - 0x194]
xor dl, ah
mov byte [ebp - 0x196], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x195], al
mov al, byte [ebp - 0x196]
mov cl, byte [ebp - 0x195]
mov dl, byte [ebp - 0x18d]
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x10032b43
jmp 0x100337f3
mov eax, dword [0x10063d58]
mov dword [ebp - 0x19c], eax
mov eax, dword [0x10063d54]
mov dword [ebp - 0x1a4], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x19c]
add eax, ecx
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x19c]
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 - 0x1aa], dl
xor al, cl
mov byte [ebp - 0x1a9], al
mov cl, byte [ebp - 0x1a9]
mov al, byte [ebp - 0x1aa]
or al, cl
mov byte [ebp - 0x1ab], al
mov al, byte [ebp - 0x1ab]
test al, 1
jne 0x10032bd5
jmp 0x100337f3
jmp 0x10032bda
mov eax, dword [0x10063d58]
mov dword [ebp - 0x1b8], eax
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x1b4], ecx
add eax, 0xbf2c857d
sub eax, 1
sub eax, 0xbf2c857d
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b8]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x1be], cl
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x1bd], dl
xor cl, 0xff
mov byte [ebp - 0x1bc], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x1bb], cl
and dl, 0xff
mov byte [ebp - 0x1ba], dl
and al, cl
mov byte [ebp - 0x1b9], al
mov cl, byte [ebp - 0x1bb]
mov al, byte [ebp - 0x1be]
mov dl, byte [ebp - 0x1bc]
and dl, 0xff
mov byte [ebp - 0x1c0], dl
and al, cl
mov byte [ebp - 0x1bf], al
mov cl, byte [ebp - 0x1bc]
mov al, byte [ebp - 0x1bd]
mov ch, byte [ebp - 0x1bf]
mov ah, byte [ebp - 0x1c0]
mov dh, byte [ebp - 0x1b9]
mov dl, byte [ebp - 0x1ba]
or dl, dh
or ah, ch
xor dl, ah
mov byte [ebp - 0x1c2], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x1c1], al
mov al, byte [ebp - 0x1c1]
mov cl, byte [ebp - 0x1bb]
or cl, 1
and al, cl
mov byte [ebp - 0x1c3], al
mov cl, byte [ebp - 0x1c3]
mov al, byte [ebp - 0x1c2]
or al, cl
test al, 1
jne 0x10032ced
jmp 0x10033ad0
mov eax, dword [0x10063d58]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x1cc], ecx
sub eax, 0x81b7e2a8
sub eax, 1
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1c8]
add edx, 0x81b7e2a8
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x1d2], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x1d1], al
mov al, byte [ebp - 0x1d2]
xor al, 0xff
mov byte [ebp - 0x1d3], al
mov al, byte [ebp - 0x1d2]
mov dl, byte [ebp - 0x1d3]
mov cl, byte [ebp - 0x1d1]
xor cl, 0xff
mov byte [ebp - 0x1d7], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x1d6], cl
and dl, 0xff
mov byte [ebp - 0x1d5], dl
and al, cl
mov byte [ebp - 0x1d4], al
mov ah, byte [ebp - 0x1d4]
mov dl, byte [ebp - 0x1d5]
mov ch, byte [ebp - 0x1d6]
mov cl, byte [ebp - 0x1d1]
mov al, byte [ebp - 0x1d7]
and al, 0xff
and cl, ch
or dl, ah
mov byte [ebp - 0x1d9], dl
or al, cl
mov byte [ebp - 0x1d8], al
mov dl, byte [ebp - 0x1d6]
mov ah, byte [ebp - 0x1d7]
mov cl, byte [ebp - 0x1d3]
mov ch, byte [ebp - 0x1d8]
mov al, byte [ebp - 0x1d9]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x10032df8
jmp 0x10033ad0
jmp 0x10032dfd
mov eax, dword [0x10063d58]
mov dword [ebp - 0x1e4], eax
mov eax, dword [0x10063d54]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e4]
sub eax, 0x4cd94988
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
sub eax, 1
add eax, 0x4cd94988
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1e4]
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
mov byte [ebp - 0x1ed], al
mov al, byte [ebp - 0x1ed]
test al, 1
jne 0x10032e7d
jmp 0x10033ad5
mov eax, dword [0x10063d58]
mov dword [ebp - 0x1fc], eax
mov eax, dword [0x10063d54]
mov dword [ebp - 0x1f8], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x1fc]
add eax, ecx
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x1fc]
imul eax, ecx
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x204]
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
xor al, 0xff
mov byte [ebp - 0x20a], al
mov ch, dl
xor ch, 0xff
mov byte [ebp - 0x209], ch
mov ah, 1
xor ah, 1
mov byte [ebp - 0x208], ah
and al, 0xff
and cl, ah
and ch, 0xff
mov byte [ebp - 0x207], ch
and dl, ah
mov byte [ebp - 0x206], dl
or al, cl
mov byte [ebp - 0x205], al
mov al, byte [ebp - 0x208]
mov dl, byte [ebp - 0x209]
mov cl, byte [ebp - 0x20a]
mov ah, byte [ebp - 0x205]
mov dh, byte [ebp - 0x206]
mov ch, byte [ebp - 0x207]
or ch, dh
xor ah, ch
mov byte [ebp - 0x20d], ah
or cl, dl
xor cl, 0xff
mov byte [ebp - 0x20c], cl
or al, 1
mov byte [ebp - 0x20b], al
mov al, byte [ebp - 0x20d]
mov dl, byte [ebp - 0x20b]
mov cl, byte [ebp - 0x20c]
and cl, dl
or al, cl
test al, 1
jne 0x10032f83
jmp 0x10033ad5
mov eax, dword [0x10063d58]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x21c], ecx
mov ecx, eax
sub ecx, 0xf4e538ae
sub ecx, 1
add ecx, 0xf4e538ae
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x215], al
mov al, byte [ebp - 0x215]
mov ecx, dword [ebp - 0x21c]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x21e], cl
xor al, 0xff
mov byte [ebp - 0x21d], al
mov al, byte [ebp - 0x21e]
xor al, 0xff
mov byte [ebp - 0x21f], al
mov al, byte [ebp - 0x21f]
mov cl, byte [ebp - 0x215]
mov ah, byte [ebp - 0x21d]
mov dl, 1
xor dl, 0
mov byte [ebp - 0x223], dl
and ah, 0
mov byte [ebp - 0x222], ah
and cl, dl
mov byte [ebp - 0x221], cl
and al, 0
mov byte [ebp - 0x220], al
mov dl, byte [ebp - 0x223]
mov ah, byte [ebp - 0x21f]
mov cl, byte [ebp - 0x21d]
mov ch, byte [ebp - 0x220]
mov bl, byte [ebp - 0x221]
mov al, byte [ebp - 0x222]
mov dh, byte [ebp - 0x21e]
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 0x10033072
jmp 0x100335bd
mov eax, dword [0x10063d58]
mov dword [ebp - 0x230], eax
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x22c], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
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 - 0x234]
and eax, 1
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x238]
cmp eax, 0
sete al
mov byte [ebp - 0x23b], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x23a], cl
and al, cl
mov byte [ebp - 0x239], al
mov al, byte [ebp - 0x239]
mov dl, byte [ebp - 0x23a]
mov cl, byte [ebp - 0x23b]
xor cl, dl
or al, cl
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23c]
test al, 1
jne 0x10033115
jmp 0x100337f8
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [0x10063d58]
mov dword [ebp - 0x244], eax
mov eax, dword [0x10063d54]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x244]
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x248]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x249], al
mov al, byte [ebp - 0x249]
mov ecx, dword [ebp - 0x240]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x24b], cl
and al, cl
mov byte [ebp - 0x24a], al
mov al, byte [ebp - 0x24a]
mov dl, byte [ebp - 0x24b]
mov cl, byte [ebp - 0x249]
xor cl, dl
or al, cl
mov byte [ebp - 0x24c], al
mov al, byte [ebp - 0x24c]
test al, 1
jne 0x100331ad
jmp 0x100337f8
mov eax, dword [0x10063d58]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x254], ecx
mov ecx, eax
sub ecx, 0xcc67db83
sub ecx, 1
add ecx, 0xcc67db83
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x24d], al
mov cl, byte [ebp - 0x24d]
mov eax, dword [ebp - 0x254]
cmp eax, 0xa
setl al
mov byte [ebp - 0x258], al
xor cl, 0xff
mov byte [ebp - 0x257], cl
xor al, 0xff
mov byte [ebp - 0x256], al
mov al, 1
xor al, 1
mov byte [ebp - 0x255], al
mov al, byte [ebp - 0x257]
and al, 0xff
mov byte [ebp - 0x259], al
mov dl, byte [ebp - 0x259]
mov ch, byte [ebp - 0x255]
mov cl, byte [ebp - 0x258]
mov al, byte [ebp - 0x256]
mov ah, byte [ebp - 0x24d]
and ah, ch
and al, 0xff
and cl, ch
or dl, ah
mov byte [ebp - 0x25b], dl
or al, cl
mov byte [ebp - 0x25a], al
mov dl, byte [ebp - 0x255]
mov ah, byte [ebp - 0x256]
mov cl, byte [ebp - 0x257]
mov ch, byte [ebp - 0x25a]
mov al, byte [ebp - 0x25b]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
mov byte [ebp - 0x25c], al
mov al, byte [ebp - 0x25c]
test al, 1
jne 0x1003329b
jmp 0x100335bd
mov eax, dword [0x10063d58]
mov dword [ebp - 0x264], eax
mov eax, dword [0x10063d54]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x264]
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0x264]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x26e], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x26d], cl
xor al, 0xff
mov byte [ebp - 0x26c], al
xor cl, 0xff
mov byte [ebp - 0x26b], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x26a], cl
and al, 0xff
mov byte [ebp - 0x269], al
mov cl, byte [ebp - 0x26a]
mov al, byte [ebp - 0x26e]
and al, cl
mov byte [ebp - 0x26f], al
mov ah, byte [ebp - 0x26f]
mov al, byte [ebp - 0x269]
mov ch, byte [ebp - 0x26a]
mov dl, byte [ebp - 0x26d]
mov cl, byte [ebp - 0x26b]
and cl, 0xff
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [ebp - 0x270], al
mov al, byte [ebp - 0x270]
mov dl, byte [ebp - 0x26a]
mov ah, byte [ebp - 0x26b]
mov cl, byte [ebp - 0x26c]
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x1003338c
jmp 0x1003380f
mov eax, dword [0x10063d58]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x274]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x27c], ecx
sub eax, 0xd9e86dbc
sub eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x278]
add eax, 0xd9e86dbc
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x274]
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
mov byte [ebp - 0x281], al
mov al, byte [ebp - 0x281]
test al, 1
jne 0x1003340d
jmp 0x1003380f
jmp 0x10033412
mov eax, dword [0x10063d58]
mov dword [ebp - 0x28c], eax
mov eax, dword [0x10063d54]
mov dword [ebp - 0x288], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x290]
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x294]
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
mov byte [ebp - 0x295], al
mov al, byte [ebp - 0x295]
test al, 1
jne 0x10033488
jmp 0x10033814
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x2a0], eax
mov eax, dword [0x10063d58]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x29c]
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x2a8], ecx
add eax, 0xb7164e88
sub eax, 1
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x2a4]
sub ecx, 0xb7164e88
imul eax, ecx
and eax, 1
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2ac]
cmp ecx, 0
sete cl
mov byte [ebp - 0x2ae], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x2ad], al
mov cl, byte [ebp - 0x2ad]
mov al, byte [ebp - 0x2ae]
mov dl, al
and dl, cl
mov byte [ebp - 0x2b0], dl
xor al, cl
mov byte [ebp - 0x2af], al
mov cl, byte [ebp - 0x2af]
mov al, byte [ebp - 0x2b0]
or al, cl
test al, 1
jne 0x10033537
jmp 0x10033814
mov eax, dword [ebp - 0x2a0]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
xor eax, eax
lea eax, [0x10027a70]
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 - 0x2b4], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x2b4]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
jmp 0x1003245c
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100327b6
mov eax, dword [0x10063d58]
mov dword [ebp - 0x2c4], eax
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x2c0], ecx
add eax, 0x6e4f8fe9
sub eax, 1
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2bc]
sub ecx, 0x6e4f8fe9
imul eax, ecx
and eax, 1
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2c8]
cmp ecx, 0
sete cl
mov byte [ebp - 0x2cd], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x2cc], al
xor cl, 0xff
mov byte [ebp - 0x2cb], cl
xor al, 0xff
mov byte [ebp - 0x2ca], al
mov al, 1
xor al, 1
mov byte [ebp - 0x2c9], al
mov al, byte [ebp - 0x2ca]
mov dl, byte [ebp - 0x2c9]
mov cl, byte [ebp - 0x2cd]
mov ah, byte [ebp - 0x2cb]
and ah, 0xff
mov byte [ebp - 0x2d0], ah
and cl, dl
mov byte [ebp - 0x2cf], cl
and al, 0xff
mov byte [ebp - 0x2ce], al
mov al, byte [ebp - 0x2c9]
mov dl, byte [ebp - 0x2ca]
mov cl, byte [ebp - 0x2cb]
mov ch, byte [ebp - 0x2ce]
mov bl, byte [ebp - 0x2cf]
mov ah, byte [ebp - 0x2d0]
mov dh, byte [ebp - 0x2cc]
and dh, al
or ah, bl
or ch, dh
xor ah, ch
mov byte [ebp - 0x2d3], ah
or cl, dl
xor cl, 0xff
mov byte [ebp - 0x2d2], cl
or al, 1
mov byte [ebp - 0x2d1], al
mov al, byte [ebp - 0x2d3]
mov dl, byte [ebp - 0x2d1]
mov cl, byte [ebp - 0x2d2]
and cl, dl
or al, cl
test al, 1
jne 0x100336de
jmp 0x10033819
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x10063d58]
mov dword [ebp - 0x2e4], eax
mov ecx, dword [0x10063d54]
mov dword [ebp - 0x2e0], ecx
sub eax, 0xe5cd5b0f
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2dc]
sub eax, 1
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2e8]
add edx, 0xe5cd5b0f
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x2ee], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x2ed], cl
xor al, 0xff
mov byte [ebp - 0x2ec], al
xor cl, 0xff
mov byte [ebp - 0x2eb], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x2ea], cl
and al, 0xff
mov byte [ebp - 0x2e9], al
mov dl, byte [ebp - 0x2ea]
mov ah, byte [ebp - 0x2eb]
mov cl, byte [ebp - 0x2ec]
mov al, byte [ebp - 0x2e9]
mov dh, byte [ebp - 0x2ed]
mov bl, byte [ebp - 0x2ee]
and bl, dl
mov ch, ah
and ch, 0xff
and dh, dl
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 0x100337c7
jmp 0x10033819
jmp 0x10033072
jmp 0x10032621
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100328b0
jmp 0x10032b43
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0xc], eax
jmp 0x10033115
jmp 0x1003338c
jmp 0x10033488
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0xc], eax
jmp 0x100336de
jmp 0x10031d21
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000f860
add esp, 8
mov eax, dword [0x100622d0]
mov word [eax + 0x2ec34e96], 0x32b
lea ecx, [0x10063150]
lea eax, [0x1005b190]
add eax, 0xa94
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004c610
add esp, 8
lea ecx, [0x10062d50]
lea eax, [0x10063150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [0x10062d10]
lea eax, [0x10063150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0x100622c0]
mov eax, dword [eax + 0x2ec34e96]
mov dword [ebp - 0x308], eax
mov eax, dword [0x100622c4]
mov eax, dword [eax + 0x2ec34e96]
mov dword [ebp - 0x304], eax
lea ecx, [0x10062de8]
lea eax, [0x1005b190]
add eax, 0xbe
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10036340
mov eax, dword [ebp - 0x304]
add esp, 8
lea ecx, [0x10062de8]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x300], eax
lea ecx, [0x1006316c]
lea eax, [0x1005b190]
add eax, 0xacd
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004c8f0
add esp, 8
mov eax, dword [ebp - 0x308]
mov edx, dword [ebp - 0x300]
lea ecx, [0x1006316c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, dword [ebp - 0x30]
mov edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], edx
sub esp, 8
mov dword [esp], 0x202
mov dword [esp + 4], ecx
call dword [eax]
mov eax, dword [0x100622e8]
mov dword [eax + 0x2ec34e96], 1
lea ecx, [0x1006317c]
lea eax, [0x1005b190]
add eax, 0xb04
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004cb30
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
add esp, 8
lea ecx, [0x1006317c]
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 [0x100622c0]
mov eax, dword [eax + 0x2ec34e96]
mov dword [ebp - 0x30c], eax
mov eax, dword [0x100622c4]
mov eax, dword [eax + 0x2ec34e96]
mov dword [ebp - 0x310], eax
lea ecx, [0x10062e68]
lea eax, [0x1005b190]
add eax, 0x299
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a790
add esp, 8
mov eax, dword [ebp - 0x310]
lea ecx, [0x10062e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x318], eax
lea ecx, [0x1006318c]
lea eax, [0x1005b190]
add eax, 0xb40
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004d0e0
mov edx, dword [ebp - 0x318]
mov eax, dword [ebp - 0x30c]
add esp, 8
lea ecx, [0x1006318c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [eax]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x314]
mov ecx, dword [ebp - 0x18]
xor edx, edx
sub esp, 0xc
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call eax
mov ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x10031eb1
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
jmp 0x100322ec
jmp 0x10032ced
jmp 0x10032e7d