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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x224
mov eax, dword [0x10066d58]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10066d54]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
sub eax, 0xeb82646d
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
sub eax, 1
add eax, 0xeb82646d
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
imul eax, ecx
and eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0
sete cl
mov byte [ebp - 0x1e], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x1d], al
mov dl, byte [ebp - 0x1d]
mov cl, byte [ebp - 0x1e]
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x10032f76
jmp 0x10033f0f
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
sub esp, 0x40
mov eax, esp
mov dword [ebp - 0x40], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x34], eax
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
sub esp, 0x190
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
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
push eax
mov edx, esp
mov dword [ebp - 0x5c], edx
push eax
mov edx, esp
mov dword [ebp - 0x58], edx
push eax
mov edx, esp
mov dword [ebp - 0x54], edx
push eax
mov edx, esp
mov dword [ebp - 0x50], 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 dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
cmp dword [eax], 0
seta al
mov byte [ebp - 0x61], al
mov eax, dword [0x10066d58]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x6c], ecx
add eax, 0xc7e24c96
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x68]
sub ecx, 1
sub ecx, 0xc7e24c96
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x6d], al
mov cl, byte [ebp - 0x6d]
mov eax, dword [ebp - 0x6c]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x10033067
jmp 0x10033f0f
mov al, byte [ebp - 0x61]
test al, 1
jne 0x10033077
jmp 0x1003354c
mov eax, dword [0x10066d58]
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x78], ecx
mov ecx, eax
sub ecx, 0x80bcd0ac
sub ecx, 1
add ecx, 0x80bcd0ac
imul eax, ecx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
and eax, 1
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0
sete cl
mov byte [ebp - 0x81], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x80], al
xor cl, 0xff
mov byte [ebp - 0x7f], cl
xor al, 0xff
mov byte [ebp - 0x7e], al
mov al, 1
xor al, 0
mov byte [ebp - 0x7d], al
mov al, byte [ebp - 0x7f]
and al, 0
mov byte [ebp - 0x82], al
mov al, byte [ebp - 0x82]
mov ah, byte [ebp - 0x7d]
mov dl, byte [ebp - 0x80]
mov ch, byte [ebp - 0x7e]
mov cl, byte [ebp - 0x81]
and cl, ah
and ch, 0
mov byte [ebp - 0x85], ch
and dl, ah
mov byte [ebp - 0x84], dl
or al, cl
mov byte [ebp - 0x83], al
mov dl, byte [ebp - 0x7d]
mov ah, byte [ebp - 0x7e]
mov cl, byte [ebp - 0x7f]
mov al, byte [ebp - 0x83]
mov dh, byte [ebp - 0x84]
mov ch, byte [ebp - 0x85]
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 0x10033145
jmp 0x100340d8
mov eax, dword [ebp - 0x3c]
mov byte [eax + 3], 0
mov eax, dword [0x100652c0]
add eax, 0xf4664066
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov eax, dword [0x100652c4]
mov eax, dword [eax - 0xb99bf9a]
mov dword [ebp - 0x98], eax
lea ecx, [0x10065e68]
lea eax, [0x1005e190]
add eax, 0x2b1
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003b870
mov eax, dword [ebp - 0x98]
add esp, 8
lea ecx, [0x10065e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x94], eax
lea ecx, [0x10065e4c]
lea eax, [0x1005e190]
add eax, 0x265
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003aca0
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x90]
add esp, 8
lea ecx, [0x10065e4c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
mov esi, eax
mov eax, dword [ebp - 0x24]
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 - 0x28]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
cmp dword [eax], 0
setne al
mov byte [ebp - 0xa5], al
mov eax, dword [0x10066d58]
mov dword [ebp - 0xa4], eax
mov ecx, dword [0x10066d54]
mov dword [ebp - 0xa0], ecx
add eax, 0x3871d3b6
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x9c]
sub edx, 1
sub edx, 0x3871d3b6
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 - 0xa7], dl
xor al, cl
mov byte [ebp - 0xa6], al
mov cl, byte [ebp - 0xa6]
mov al, byte [ebp - 0xa7]
or al, cl
mov byte [ebp - 0xa8], al
mov al, byte [ebp - 0xa8]
test al, 1
jne 0x100332e4
jmp 0x100340d8
mov al, byte [ebp - 0xa5]
test al, 1
jne 0x100332f7
jmp 0x10033313
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb0], eax
jmp 0x10033541
mov eax, dword [0x10066d58]
mov dword [ebp - 0xbc], eax
mov ecx, dword [0x10066d54]
mov dword [ebp - 0xb8], ecx
add eax, 0x3b0b63d3
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb4]
sub ecx, 1
sub ecx, 0x3b0b63d3
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0xbd], al
mov al, byte [ebp - 0xbd]
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0xbf], cl
xor al, 0xff
mov byte [ebp - 0xbe], al
mov al, byte [ebp - 0xbe]
mov cl, byte [ebp - 0xbf]
xor cl, 0xff
mov byte [ebp - 0xc2], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0xc1], cl
and al, 0xff
mov byte [ebp - 0xc0], al
mov al, byte [ebp - 0xc0]
mov ah, byte [ebp - 0xc1]
mov dl, byte [ebp - 0xbf]
mov ch, byte [ebp - 0xc2]
mov cl, byte [ebp - 0xbd]
and cl, ah
and ch, 0xff
mov byte [ebp - 0xc5], ch
and dl, ah
mov byte [ebp - 0xc4], dl
or al, cl
mov byte [ebp - 0xc3], al
mov dl, byte [ebp - 0xc1]
mov ah, byte [ebp - 0xc2]
mov cl, byte [ebp - 0xbe]
mov al, byte [ebp - 0xc3]
mov dh, byte [ebp - 0xc4]
mov ch, byte [ebp - 0xc5]
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 0x1003341e
jmp 0x10033f6a
mov eax, dword [0x10066d58]
mov dword [ebp - 0xd4], eax
mov ecx, dword [0x10066d54]
mov dword [ebp - 0xd0], ecx
sub eax, 0xb571e86f
sub eax, 1
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
add eax, 0xb571e86f
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
imul eax, ecx
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xdc]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0xe1], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0xe0], al
xor cl, 0xff
mov byte [ebp - 0xdf], cl
xor al, 0xff
mov byte [ebp - 0xde], al
mov al, 1
xor al, 0
mov byte [ebp - 0xdd], al
mov cl, byte [ebp - 0xdd]
mov al, byte [ebp - 0xe0]
mov dl, byte [ebp - 0xde]
mov ah, byte [ebp - 0xe1]
mov ch, byte [ebp - 0xdf]
and ch, 0
mov byte [ebp - 0xe5], ch
and ah, cl
mov byte [ebp - 0xe4], ah
and dl, 0
mov byte [ebp - 0xe3], dl
and al, cl
mov byte [ebp - 0xe2], al
mov dl, byte [ebp - 0xdd]
mov ah, byte [ebp - 0xde]
mov cl, byte [ebp - 0xdf]
mov dh, byte [ebp - 0xe2]
mov ch, byte [ebp - 0xe3]
mov bl, byte [ebp - 0xe4]
mov al, byte [ebp - 0xe5]
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 0x10033534
jmp 0x10033f6a
xor eax, eax
mov dword [ebp - 0xb0], eax
jmp 0x10033541
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10011460
add esp, 8
mov eax, dword [0x100652d0]
add eax, 0xf4664066
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov word [eax], 0x32e
lea ecx, [0x10066150]
lea eax, [0x1005e190]
add eax, 0xa8f
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004dda0
add esp, 8
lea ecx, [0x10065d50]
lea eax, [0x10066150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [0x10065d10]
lea eax, [0x10066150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0x100652c0]
mov eax, dword [eax - 0xb99bf9a]
mov dword [ebp - 0xf4], eax
mov eax, dword [0x100652c4]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax - 0xb99bf9a]
mov dword [ebp - 0x100], eax
lea ecx, [0x10065de8]
lea eax, [0x1005e190]
add eax, 0xdc
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10036490
mov eax, dword [ebp - 0x100]
add esp, 8
lea ecx, [0x10065de8]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0xfc], eax
lea ecx, [0x1006616c]
lea eax, [0x1005e190]
add eax, 0xac6
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004de90
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xf4]
add esp, 8
lea ecx, [0x1006616c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, dword [ebp - 0x2c]
mov edx, eax
mov eax, dword [ebp - 0x5c]
mov dword [eax], edx
sub esp, 8
mov dword [esp], 0x202
mov dword [esp + 4], ecx
call dword [eax]
mov eax, dword [0x100652e8]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov dword [eax - 0xb99bf9a], 1
lea ecx, [0x1006617c]
lea eax, [0x1005e190]
add eax, 0xaf3
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004e4d0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
add esp, 8
lea ecx, [0x1006617c]
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 [0x100652c0]
mov eax, dword [eax - 0xb99bf9a]
mov dword [ebp - 0x108], eax
mov eax, dword [0x100652c4]
add eax, 0xf4664066
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov eax, dword [eax]
mov dword [ebp - 0x110], eax
lea ecx, [0x10065e68]
lea eax, [0x1005e190]
add eax, 0x2b1
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003b870
mov eax, dword [ebp - 0x110]
add esp, 8
lea ecx, [0x10065e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x10c], eax
lea ecx, [0x1006618c]
lea eax, [0x1005e190]
add eax, 0xb2c
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004ec20
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x108]
add esp, 8
lea ecx, [0x1006618c]
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 - 0x58]
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 - 0x54]
mov dword [ecx], eax
xor eax, eax
cmp eax, dword [ecx]
je 0x10033dce
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
mov eax, 0xb7
cmp eax, ecx
sete al
mov byte [ebp - 0x115], al
mov al, byte [ebp - 0x115]
test al, 1
jne 0x1003381a
jmp 0x10033845
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x11c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
jmp 0x10033845
mov eax, dword [0x10066d58]
mov dword [ebp - 0x128], eax
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x124], ecx
add eax, 0x33dd6ac
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
sub eax, 1
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x12c]
sub edx, 0x33dd6ac
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x130], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x12f], al
xor cl, 0xff
mov byte [ebp - 0x12e], cl
xor al, 0xff
mov byte [ebp - 0x12d], al
mov al, 1
xor al, 0
mov byte [ebp - 0x131], al
mov cl, byte [ebp - 0x131]
mov dl, byte [ebp - 0x12d]
mov al, byte [ebp - 0x12e]
mov dh, byte [ebp - 0x12f]
mov bl, byte [ebp - 0x130]
mov ah, al
and ah, 0
and bl, cl
mov ch, dl
and ch, 0
and dh, cl
or ah, bl
or ch, dh
xor ah, ch
mov byte [ebp - 0x133], ah
or al, dl
xor al, 0xff
or cl, 0
and al, cl
mov byte [ebp - 0x132], al
mov cl, byte [ebp - 0x132]
mov al, byte [ebp - 0x133]
or al, cl
test al, 1
jne 0x10033929
jmp 0x1003420b
mov ecx, dword [ebp - 0x54]
xor eax, eax
cmp eax, dword [ecx]
setne al
mov byte [ebp - 0x139], al
mov eax, dword [0x10066d58]
mov dword [ebp - 0x138], eax
mov eax, dword [0x10066d54]
mov dword [ebp - 0x144], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x138]
add eax, ecx
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x138]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x14b], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x14a], cl
xor al, 0xff
mov byte [ebp - 0x149], al
mov cl, byte [ebp - 0x14b]
mov ah, byte [ebp - 0x149]
mov al, byte [ebp - 0x14a]
xor al, 0xff
mov byte [ebp - 0x150], al
mov dl, 1
xor dl, 0
mov byte [ebp - 0x14f], dl
and ah, 0
mov byte [ebp - 0x14e], ah
and cl, dl
mov byte [ebp - 0x14d], cl
and al, 0
mov byte [ebp - 0x14c], al
mov dl, byte [ebp - 0x14f]
mov ah, byte [ebp - 0x150]
mov cl, byte [ebp - 0x149]
mov ch, byte [ebp - 0x14c]
mov bl, byte [ebp - 0x14d]
mov al, byte [ebp - 0x14e]
mov dh, byte [ebp - 0x14a]
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 0x10033a2f
jmp 0x1003420b
mov al, byte [ebp - 0x139]
test al, 1
jne 0x10033a42
jmp 0x10033c65
xor eax, eax
lea eax, [0x1002afa0]
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 - 0x154], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x154]
mov dword [eax], ecx
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x158]
xor eax, eax
cmp eax, ecx
setne al
mov byte [ebp - 0x159], al
mov al, byte [ebp - 0x159]
test al, 1
jne 0x10033ac0
jmp 0x10033c43
mov eax, dword [0x10066d58]
mov dword [ebp - 0x168], eax
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x164], ecx
add eax, 0xa67edb4a
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x160]
sub ecx, 1
sub ecx, 0xa67edb4a
imul eax, ecx
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x16d], al
mov bl, byte [ebp - 0x16d]
mov eax, dword [ebp - 0x164]
cmp eax, 0xa
setl dh
mov cl, bl
xor cl, 0xff
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 - 0x170], ah
or cl, dl
xor cl, 0xff
mov byte [ebp - 0x16f], cl
or al, 0
mov byte [ebp - 0x16e], al
mov al, byte [ebp - 0x170]
mov dl, byte [ebp - 0x16e]
mov cl, byte [ebp - 0x16f]
and cl, dl
or al, cl
mov byte [ebp - 0x171], al
mov al, byte [ebp - 0x171]
test al, 1
jne 0x10033b91
jmp 0x10034215
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 [ebp - 0x48]
mov dword [eax], 1
mov eax, dword [0x10066d58]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x180], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x178]
imul eax, ecx
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x184]
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x186], dl
xor al, cl
mov byte [ebp - 0x185], al
mov cl, byte [ebp - 0x185]
mov al, byte [ebp - 0x186]
or al, cl
mov byte [ebp - 0x187], al
mov al, byte [ebp - 0x187]
test al, 1
jne 0x10033c3e
jmp 0x10034215
jmp 0x10033ef7
mov eax, dword [ebp - 0x54]
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]
jmp 0x10033c65
mov eax, dword [0x10066d58]
mov dword [ebp - 0x198], eax
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x194], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x198]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x199], al
mov eax, dword [ebp - 0x194]
cmp eax, 0xa
setl al
mov byte [ebp - 0x19a], al
mov al, byte [ebp - 0x19a]
mov cl, byte [ebp - 0x199]
xor cl, 0xff
mov byte [ebp - 0x19d], cl
xor al, 0xff
mov byte [ebp - 0x19c], al
mov al, 1
xor al, 1
mov byte [ebp - 0x19b], al
mov cl, byte [ebp - 0x19c]
mov al, byte [ebp - 0x19d]
mov bl, byte [ebp - 0x19b]
mov ch, byte [ebp - 0x19a]
mov dh, byte [ebp - 0x199]
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 - 0x19f], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x19e], al
mov al, byte [ebp - 0x19f]
mov cl, byte [ebp - 0x19e]
mov dl, byte [ebp - 0x19b]
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x10033d48
jmp 0x10034240
mov eax, dword [0x10066d58]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x1a8], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1ac]
imul eax, ecx
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x1b1], al
mov eax, dword [ebp - 0x1a8]
cmp eax, 0xa
setl al
mov byte [ebp - 0x1b2], al
mov dl, byte [ebp - 0x1b2]
mov cl, byte [ebp - 0x1b1]
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x10033dc9
jmp 0x10034240
jmp 0x10033dce
mov eax, dword [0x10066d58]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x1c0], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1b8]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x1c1], al
mov eax, dword [ebp - 0x1c0]
cmp eax, 0xa
setl al
mov byte [ebp - 0x1c2], al
mov cl, byte [ebp - 0x1c2]
mov al, byte [ebp - 0x1c1]
mov dl, al
and dl, cl
mov byte [ebp - 0x1c4], dl
xor al, cl
mov byte [ebp - 0x1c3], al
mov cl, byte [ebp - 0x1c3]
mov al, byte [ebp - 0x1c4]
or al, cl
test al, 1
jne 0x10033e61
jmp 0x10034245
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [0x10066d58]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x1cc], ecx
add eax, 0x7c036f7d
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1c8]
sub eax, 1
sub eax, 0x7c036f7d
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d0]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x1d5], al
mov cl, byte [ebp - 0x1d5]
mov eax, dword [ebp - 0x1cc]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x1d6], al
mov al, byte [ebp - 0x1d6]
test al, 1
jne 0x10033ef2
jmp 0x10034245
jmp 0x10033ef7
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
push eax
push eax
mov eax, esp
mov dword [ebp - 0x1e8], eax
sub esp, 0x40
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x1e4], eax
push eax
mov eax, esp
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e8]
mov dword [eax], 0
mov eax, dword [ebp - 0x1e4]
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 - 0x1e0]
mov dword [eax], ecx
mov eax, dword [eax]
jmp 0x10032f76
mov eax, dword [0x10066d58]
mov ecx, dword [0x10066d54]
mov dword [ebp - 0x1f0], ecx
mov ecx, eax
add ecx, 0x6abc6fa0
sub ecx, 1
sub ecx, 0x6abc6fa0
imul eax, ecx
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x1f1], al
mov al, byte [ebp - 0x1f1]
mov ecx, dword [ebp - 0x1f0]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x1f7], cl
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x1f6], dl
xor cl, 0xff
mov byte [ebp - 0x1f5], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x1f4], cl
and dl, 0xff
mov byte [ebp - 0x1f3], dl
and al, cl
mov byte [ebp - 0x1f2], al
mov ah, byte [ebp - 0x1f2]
mov dl, byte [ebp - 0x1f3]
mov ch, byte [ebp - 0x1f4]
mov cl, byte [ebp - 0x1f7]
mov al, byte [ebp - 0x1f5]
and al, 0xff
and cl, ch
or dl, ah
mov byte [ebp - 0x1f9], dl
or al, cl
mov byte [ebp - 0x1f8], al
mov dl, byte [ebp - 0x1f4]
mov ah, byte [ebp - 0x1f5]
mov cl, byte [ebp - 0x1f6]
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 0x10034069
jmp 0x10034260
mov eax, dword [0x10066d58]
mov dword [ebp - 0x200], eax
mov eax, dword [0x10066d54]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x200]
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 - 0x205], al
mov cl, byte [ebp - 0x205]
mov eax, dword [ebp - 0x204]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x206], al
mov al, byte [ebp - 0x206]
test al, 1
jne 0x100340d3
jmp 0x10034260
jmp 0x1003341e
mov eax, dword [ebp - 0x3c]
add eax, 3
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x20c]
mov byte [eax], 0
mov eax, dword [0x100652c0]
add eax, 0xf4664066
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
mov eax, dword [eax]
mov dword [ebp - 0x218], eax
mov eax, dword [0x100652c4]
mov eax, dword [eax - 0xb99bf9a]
mov dword [ebp - 0x220], eax
lea ecx, [0x10065e68]
lea eax, [0x1005e190]
add eax, 0x2b1
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003b870
mov eax, dword [ebp - 0x220]
add esp, 8
lea ecx, [0x10065e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x21c], eax
lea ecx, [0x10065e4c]
lea eax, [0x1005e190]
add eax, 0x265
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003aca0
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x218]
add esp, 8
lea ecx, [0x10065e4c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov eax, dword [eax]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
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 - 0x224], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x224]
mov dword [eax], ecx
mov eax, dword [eax]
jmp 0x10033145
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
jmp 0x10033929
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x228]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x48]
mov dword [eax], 1
jmp 0x10033b91
jmp 0x10033d48
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x22c]
mov dword [eax], ecx
jmp 0x10033e61
jmp 0x10034069