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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x538
push eax
mov eax, esp
mov dword [ebp - 0x158], eax
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x15c], eax
push eax
mov eax, esp
mov dword [ebp - 0x168], eax
sub esp, 0x190
mov eax, esp
mov dword [ebp - 0x164], eax
push eax
mov eax, esp
mov dword [ebp - 0x160], eax
push eax
mov eax, esp
mov dword [ebp - 0x178], eax
push eax
mov eax, esp
mov dword [ebp - 0x174], eax
push eax
mov eax, esp
mov dword [ebp - 0x170], eax
push eax
mov eax, esp
mov dword [ebp - 0x16c], eax
push eax
mov eax, esp
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x154]
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 - 0x158]
mov dword [eax], ecx
cmp dword [eax], 0
jbe 0x10033121
mov eax, dword [0x10064d30]
mov dword [ebp - 0x184], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x184]
sub eax, 0x278cf07a
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x188]
sub ecx, 1
add ecx, 0x278cf07a
imul eax, ecx
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x18c]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x18e], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x18d], al
mov dl, byte [ebp - 0x18d]
mov cl, byte [ebp - 0x18e]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x18f], al
mov al, byte [ebp - 0x18f]
test al, 1
jne 0x10032cb9
jmp 0x1003438a
mov byte [ebp - 0x151], 0
mov eax, dword [0x100632c0]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x19c], eax
mov eax, dword [0x100632c4]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x198], eax
lea ecx, [0x10063e68]
lea eax, [0x1005c190]
add eax, 0x297
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a6c0
mov eax, dword [ebp - 0x198]
add esp, 8
lea ecx, [0x10063e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x194], eax
lea ecx, [0x10063e4c]
lea eax, [0x1005c190]
add eax, 0x251
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a170
add esp, 8
mov eax, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x194]
lea ecx, [0x10063e4c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, dword [ebp - 0x168]
mov edx, eax
mov eax, dword [ebp - 0x178]
mov dword [eax], edx
mov eax, dword [eax]
lea edx, [ebp - 0x154]
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 - 0x160]
mov dword [eax], ecx
cmp dword [eax], 0
setne al
mov byte [ebp - 0x1a5], al
mov eax, dword [0x10064d30]
mov dword [ebp - 0x1a4], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1a4]
mov edx, ecx
add edx, 0xb41d0a9c
sub edx, 1
sub edx, 0xb41d0a9c
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x1aa], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x1a9], al
xor cl, 0xff
mov byte [ebp - 0x1a8], cl
xor al, 0xff
mov byte [ebp - 0x1a7], al
mov al, 1
xor al, 1
mov byte [ebp - 0x1a6], al
mov al, byte [ebp - 0x1a8]
and al, 0xff
mov byte [ebp - 0x1ab], al
mov dl, byte [ebp - 0x1a6]
mov ah, byte [ebp - 0x1a7]
mov cl, byte [ebp - 0x1a8]
mov al, byte [ebp - 0x1ab]
mov dh, byte [ebp - 0x1a9]
mov bl, byte [ebp - 0x1aa]
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 0x10032e92
jmp 0x1003438a
mov eax, dword [0x10064d30]
mov dword [ebp - 0x1b0], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b0]
add eax, 0x13c70cc9
sub eax, 1
sub eax, 0x13c70cc9
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1b0]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x1b9], al
mov cl, byte [ebp - 0x1b9]
mov eax, dword [ebp - 0x1b4]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x1ba], al
mov al, byte [ebp - 0x1ba]
test al, 1
jne 0x10032f12
jmp 0x10035149
mov eax, dword [0x10064d30]
mov dword [ebp - 0x1c0], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c0]
sub eax, 0x34c28fe1
sub eax, 1
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1c8]
add eax, 0x34c28fe1
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1c0]
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 - 0x1cd], al
mov al, byte [ebp - 0x1cd]
test al, 1
jne 0x10032f92
jmp 0x10035149
mov eax, dword [0x10064d30]
mov dword [ebp - 0x1dc], eax
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x1d8], ecx
add eax, 0x605120b5
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1d4]
sub eax, 1
sub eax, 0x605120b5
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1dc]
imul eax, ecx
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1e4]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x1e6], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x1e5], al
mov dl, byte [ebp - 0x1e5]
mov cl, byte [ebp - 0x1e6]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x1e7], al
mov al, byte [ebp - 0x1e7]
test al, 1
jne 0x10033031
jmp 0x10034c2b
mov eax, dword [0x10064d30]
mov dword [ebp - 0x1f4], eax
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x1f0], ecx
add eax, 0x3b84498a
sub eax, 1
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
sub eax, 0x3b84498a
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1f4]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x1f9], al
mov al, byte [ebp - 0x1f9]
mov ecx, dword [ebp - 0x1f0]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x1fb], cl
and al, cl
mov byte [ebp - 0x1fa], al
mov al, byte [ebp - 0x1fa]
mov dl, byte [ebp - 0x1fb]
mov cl, byte [ebp - 0x1f9]
xor cl, dl
or al, cl
mov byte [ebp - 0x1fc], al
mov al, byte [ebp - 0x1fc]
test al, 1
jne 0x100330d4
jmp 0x10034c2b
mov al, byte [ebp - 0x1a5]
test al, 1
jne 0x100330e7
jmp 0x10033106
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x204], eax
jmp 0x10033113
xor eax, eax
mov dword [ebp - 0x204], eax
jmp 0x10033113
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x204]
mov dword [eax], ecx
mov eax, dword [0x10064d30]
mov dword [ebp - 0x210], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x20c], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x210]
mov edx, dword [ebp - 0x208]
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
and eax, 1
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x218]
cmp ecx, 0
sete cl
mov byte [ebp - 0x21a], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x219], al
mov dl, byte [ebp - 0x219]
mov cl, byte [ebp - 0x21a]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x21b], al
mov al, byte [ebp - 0x21b]
test al, 1
jne 0x100331bb
jmp 0x1003514e
mov eax, dword [0x10064d30]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x228], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x220]
imul eax, ecx
and eax, 1
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x22c]
cmp eax, 0
sete al
mov byte [ebp - 0x22d], al
mov cl, byte [ebp - 0x22d]
mov eax, dword [ebp - 0x228]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x22e], al
mov al, byte [ebp - 0x22e]
test al, 1
jne 0x10033242
jmp 0x1003514e
mov eax, dword [0x10064d30]
mov dword [ebp - 0x234], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x23c], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x234]
add eax, ecx
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x234]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x241], al
mov cl, byte [ebp - 0x241]
mov eax, dword [ebp - 0x23c]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x242], al
mov al, byte [ebp - 0x242]
test al, 1
jne 0x100332c8
jmp 0x10034c30
mov ecx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x158]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10011f20
add esp, 8
mov eax, dword [0x100632d0]
mov word [eax - 0x5697a1cc], 0x32f
lea ecx, [0x10064150]
lea eax, [0x1005c190]
add eax, 0xae1
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004c050
add esp, 8
lea ecx, [0x10063d50]
lea eax, [0x10064150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [0x10063d10]
lea eax, [0x10064150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0x100632c0]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x24c], eax
mov eax, dword [0x100632c4]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x248], eax
lea ecx, [0x10063de8]
lea eax, [0x1005c190]
add eax, 0xc4
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10036c50
mov eax, dword [ebp - 0x248]
add esp, 8
lea ecx, [0x10063de8]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x25c], eax
lea ecx, [0x1006416c]
lea eax, [0x1005c190]
add eax, 0xb2b
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004c350
mov edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x24c]
add esp, 8
lea ecx, [0x1006416c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, dword [ebp - 0x164]
mov edx, eax
mov eax, dword [ebp - 0x174]
mov dword [eax], edx
sub esp, 8
mov dword [esp], 0x202
mov dword [esp + 4], ecx
call dword [eax]
mov eax, dword [0x100632e8]
mov dword [eax - 0x5697a1cc], 1
lea eax, [ebp - 0x50]
mov dword [ebp - 0x258], eax
lea ecx, [0x1006417c]
lea eax, [0x1005c190]
add eax, 0xb6e
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004cb50
mov edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x15c]
add esp, 8
lea ecx, [0x1006417c]
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 [0x100632c0]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x254], eax
mov eax, dword [0x100632c4]
add eax, 0xa9685e34
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
mov eax, dword [eax]
mov dword [ebp - 0x260], eax
lea ecx, [0x10063e68]
lea eax, [0x1005c190]
add eax, 0x297
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a6c0
add esp, 8
mov eax, dword [ebp - 0x260]
lea ecx, [0x10063e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x270], eax
lea ecx, [0x1006418c]
lea eax, [0x1005c190]
add eax, 0xba4
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004d870
mov edx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x254]
add esp, 8
lea ecx, [0x1006418c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, eax
mov eax, dword [ebp - 0x170]
mov dword [eax], ecx
mov eax, dword [eax]
lea ecx, [ebp - 0x50]
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 - 0x16c]
mov dword [ecx], eax
xor eax, eax
cmp eax, dword [ecx]
setne al
mov byte [ebp - 0x269], al
mov eax, dword [0x10064d30]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x268], ecx
mov ecx, eax
add ecx, 0x88090ade
sub ecx, 1
sub ecx, 0x88090ade
imul eax, ecx
and eax, 1
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
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 0x100335bb
jmp 0x10034c30
mov al, byte [ebp - 0x269]
test al, 1
jne 0x100335ce
jmp 0x100341d6
mov eax, dword [0x10064d30]
mov dword [ebp - 0x274], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x274]
mov ecx, eax
add ecx, 0xf93ad1c9
sub ecx, 1
sub ecx, 0xf93ad1c9
imul eax, ecx
and eax, 1
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x27c]
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 - 0x27d], al
mov al, byte [ebp - 0x27d]
test al, 1
jne 0x10033640
jmp 0x10035153
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov eax, 0xb7
cmp eax, ecx
sete al
mov byte [ebp - 0x27e], al
mov eax, dword [0x10064d30]
mov dword [ebp - 0x28c], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x288], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x284]
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x290]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x291], al
mov al, byte [ebp - 0x291]
mov ecx, dword [ebp - 0x288]
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x293], dl
xor al, cl
mov byte [ebp - 0x292], al
mov cl, byte [ebp - 0x292]
mov al, byte [ebp - 0x293]
or al, cl
test al, 1
jne 0x100336e6
jmp 0x10035153
mov al, byte [ebp - 0x27e]
test al, 1
jne 0x100336f9
jmp 0x1003372a
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x298]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x16c]
mov dword [eax], 0
jmp 0x1003372a
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0x29c]
xor eax, eax
cmp eax, ecx
setne al
mov byte [ebp - 0x29d], al
mov al, byte [ebp - 0x29d]
test al, 1
jne 0x1003375e
jmp 0x10033efa
xor eax, eax
lea eax, [0x1002c940]
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 - 0x2a4], eax
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x2a4]
mov dword [eax], ecx
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2a8]
xor eax, eax
cmp eax, ecx
setne al
mov byte [ebp - 0x2a9], al
mov al, byte [ebp - 0x2a9]
test al, 1
jne 0x100337e2
jmp 0x10033ed5
mov eax, dword [0x10064d30]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x2b8], ecx
mov ecx, eax
sub ecx, 0x92138f8b
sub ecx, 1
add ecx, 0x92138f8b
imul eax, ecx
and eax, 1
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2b4]
cmp eax, 0
sete ah
cmp ecx, 0xa
setl cl
mov dl, ah
xor dl, 0xff
mov byte [ebp - 0x2bd], dl
mov al, cl
xor al, 0xff
mov byte [ebp - 0x2bc], al
mov ch, 1
xor ch, 1
mov byte [ebp - 0x2bb], ch
and dl, 0xff
and ah, ch
and al, 0xff
and cl, ch
or dl, ah
mov byte [ebp - 0x2ba], dl
or al, cl
mov byte [ebp - 0x2b9], al
mov cl, byte [ebp - 0x2bc]
mov al, byte [ebp - 0x2bd]
mov ah, byte [ebp - 0x2b9]
mov dl, byte [ebp - 0x2ba]
xor dl, ah
mov byte [ebp - 0x2bf], dl
or al, cl
mov byte [ebp - 0x2be], al
mov al, byte [ebp - 0x2bb]
mov cl, byte [ebp - 0x2be]
xor cl, 0xff
mov byte [ebp - 0x2c1], cl
or al, 1
mov byte [ebp - 0x2c0], al
mov al, byte [ebp - 0x2bf]
mov dl, byte [ebp - 0x2c0]
mov cl, byte [ebp - 0x2c1]
and cl, dl
or al, cl
test al, 1
jne 0x100338d5
jmp 0x10034826
mov eax, dword [0x10064d30]
mov dword [ebp - 0x2cc], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2cc]
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2cc]
imul eax, ecx
and eax, 1
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x2d4]
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x2da], cl
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x2d9], dl
xor cl, 0xff
mov byte [ebp - 0x2d8], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x2d7], cl
and dl, 0xff
mov byte [ebp - 0x2d6], dl
and al, cl
mov byte [ebp - 0x2d5], al
mov ah, byte [ebp - 0x2d5]
mov dl, byte [ebp - 0x2d6]
mov ch, byte [ebp - 0x2d7]
mov cl, byte [ebp - 0x2da]
mov al, byte [ebp - 0x2d8]
and al, 0xff
and cl, ch
or dl, ah
mov byte [ebp - 0x2dc], dl
or al, cl
mov byte [ebp - 0x2db], al
mov dl, byte [ebp - 0x2d7]
mov ah, byte [ebp - 0x2d8]
mov cl, byte [ebp - 0x2d9]
mov ch, byte [ebp - 0x2db]
mov al, byte [ebp - 0x2dc]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x100339cf
jmp 0x10034ed9
mov eax, dword [0x10064d30]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x2e4], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e0]
and eax, 1
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e8]
cmp eax, 0
sete al
mov byte [ebp - 0x2e9], al
mov al, byte [ebp - 0x2e9]
mov ecx, dword [ebp - 0x2e4]
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x2eb], cl
and al, cl
mov byte [ebp - 0x2ea], al
mov al, byte [ebp - 0x2ea]
mov dl, byte [ebp - 0x2eb]
mov cl, byte [ebp - 0x2e9]
xor cl, dl
or al, cl
mov byte [ebp - 0x2ec], al
mov al, byte [ebp - 0x2ec]
test al, 1
jne 0x10033a62
jmp 0x1003515e
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc], 1
mov eax, dword [0x10064d30]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x2f4], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [ebp - 0x2f0]
and eax, 1
cmp eax, 0
sete ah
cmp ecx, 0xa
setl al
mov ch, ah
xor ch, 0xff
mov byte [ebp - 0x2fb], ch
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x2fa], dl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x2f9], cl
and ch, 0xff
mov byte [ebp - 0x2f8], ch
and ah, cl
mov byte [ebp - 0x2f7], ah
and dl, 0xff
mov byte [ebp - 0x2f6], dl
and al, cl
mov byte [ebp - 0x2f5], al
mov cl, byte [ebp - 0x2fa]
mov al, byte [ebp - 0x2fb]
mov ch, byte [ebp - 0x2f5]
mov ah, byte [ebp - 0x2f6]
mov dh, byte [ebp - 0x2f7]
mov dl, byte [ebp - 0x2f8]
or dl, dh
or ah, ch
xor dl, ah
mov byte [ebp - 0x2fd], dl
or al, cl
mov byte [ebp - 0x2fc], al
mov al, byte [ebp - 0x2fc]
xor al, 0xff
mov byte [ebp - 0x2fe], al
mov al, byte [ebp - 0x2fe]
mov cl, byte [ebp - 0x2f9]
or cl, 1
and al, cl
mov byte [ebp - 0x2ff], al
mov cl, byte [ebp - 0x2ff]
mov al, byte [ebp - 0x2fd]
or al, cl
test al, 1
jne 0x10033b76
jmp 0x1003515e
mov eax, dword [0x10064d30]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x308], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x308]
mov eax, dword [ebp - 0x304]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x30b], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x30a], cl
xor al, 0xff
mov byte [ebp - 0x309], al
mov al, byte [ebp - 0x30b]
mov dl, byte [ebp - 0x309]
mov cl, byte [ebp - 0x30a]
xor cl, 0xff
mov byte [ebp - 0x30f], cl
mov cl, 1
xor cl, 0
mov byte [ebp - 0x30e], cl
and dl, 0
mov byte [ebp - 0x30d], dl
and al, cl
mov byte [ebp - 0x30c], al
mov cl, byte [ebp - 0x30c]
mov al, byte [ebp - 0x30d]
mov ah, byte [ebp - 0x30e]
mov dl, byte [ebp - 0x30a]
mov ch, byte [ebp - 0x30f]
and ch, 0
mov byte [ebp - 0x312], ch
and dl, ah
mov byte [ebp - 0x311], dl
or al, cl
mov byte [ebp - 0x310], al
mov cl, byte [ebp - 0x30f]
mov al, byte [ebp - 0x309]
mov dl, byte [ebp - 0x310]
mov ch, byte [ebp - 0x311]
mov ah, byte [ebp - 0x312]
or ah, ch
xor dl, ah
mov byte [ebp - 0x314], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x313], al
mov al, byte [ebp - 0x314]
mov cl, byte [ebp - 0x313]
mov dl, byte [ebp - 0x30e]
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x10033c8e
jmp 0x10034ed9
mov eax, dword [0x10064d30]
mov dword [ebp - 0x320], eax
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x31c], ecx
add eax, 0xdcb701a9
sub eax, 1
sub eax, 0xdcb701a9
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
mov eax, dword [ebp - 0x320]
imul eax, ecx
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x324]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x326], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x325], al
mov dl, byte [ebp - 0x325]
mov cl, byte [ebp - 0x326]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x327], al
mov al, byte [ebp - 0x327]
test al, 1
jne 0x10033d21
jmp 0x10034826
mov eax, dword [0x10064d30]
mov dword [ebp - 0x334], eax
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x330], ecx
add eax, 0xa522c323
sub eax, 1
sub eax, 0xa522c323
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x334]
imul eax, ecx
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x338]
and eax, 1
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x330]
mov eax, dword [ebp - 0x33c]
cmp eax, 0
sete al
mov byte [ebp - 0x33f], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x33e], cl
and al, cl
mov byte [ebp - 0x33d], al
mov al, byte [ebp - 0x33d]
mov dl, byte [ebp - 0x33e]
mov cl, byte [ebp - 0x33f]
xor cl, dl
or al, cl
mov byte [ebp - 0x340], al
mov al, byte [ebp - 0x340]
test al, 1
jne 0x10033dca
jmp 0x1003518a
mov eax, dword [0x10064d30]
mov dword [ebp - 0x34c], eax
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x348], ecx
sub eax, 0x329a15f5
sub eax, 1
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x348]
mov eax, dword [ebp - 0x34c]
mov edx, dword [ebp - 0x344]
add edx, 0x329a15f5
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x352], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x351], cl
xor al, 0xff
mov byte [ebp - 0x350], al
xor cl, 0xff
mov byte [ebp - 0x34f], cl
mov cl, 1
xor cl, 0
mov byte [ebp - 0x34e], cl
and al, 0
mov byte [ebp - 0x34d], al
mov cl, byte [ebp - 0x34e]
mov al, byte [ebp - 0x352]
and al, cl
mov byte [ebp - 0x353], al
mov cl, byte [ebp - 0x34f]
mov al, byte [ebp - 0x350]
mov dh, byte [ebp - 0x353]
mov dl, byte [ebp - 0x34d]
mov bl, byte [ebp - 0x34e]
mov ch, byte [ebp - 0x351]
mov ah, cl
and ah, 0
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [ebp - 0x355], dl
or al, cl
xor al, 0xff
mov byte [ebp - 0x354], al
mov al, byte [ebp - 0x355]
mov cl, byte [ebp - 0x354]
mov dl, byte [ebp - 0x34e]
or dl, 0
and cl, dl
or al, cl
mov byte [ebp - 0x356], al
mov al, byte [ebp - 0x356]
test al, 1
jne 0x10033ed0
jmp 0x1003518a
jmp 0x100341ed
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x35c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10033efa
mov eax, dword [0x10064d30]
mov dword [ebp - 0x364], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x360], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x368]
mov eax, dword [ebp - 0x364]
add eax, ecx
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp - 0x36c]
mov eax, dword [ebp - 0x364]
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 - 0x36e], dl
xor al, cl
mov byte [ebp - 0x36d], al
mov cl, byte [ebp - 0x36d]
mov al, byte [ebp - 0x36e]
or al, cl
mov byte [ebp - 0x36f], al
mov al, byte [ebp - 0x36f]
test al, 1
jne 0x10033f8c
jmp 0x1003497d
mov eax, dword [0x10064d30]
mov dword [ebp - 0x378], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
sub eax, 0x53ba2054
sub eax, 1
add eax, 0x53ba2054
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x374]
mov edx, dword [ebp - 0x37c]
mov ecx, dword [ebp - 0x378]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x37e], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x37d], al
mov cl, byte [ebp - 0x37d]
mov al, byte [ebp - 0x37e]
xor al, 0xff
mov byte [ebp - 0x382], al
xor cl, 0xff
mov byte [ebp - 0x381], cl
mov cl, 1
xor cl, 1
mov byte [ebp - 0x380], cl
and al, 0xff
mov byte [ebp - 0x37f], al
mov al, byte [ebp - 0x37f]
mov ah, byte [ebp - 0x380]
mov dl, byte [ebp - 0x37d]
mov ch, byte [ebp - 0x381]
mov cl, byte [ebp - 0x37e]
and cl, ah
and ch, 0xff
mov byte [ebp - 0x385], ch
and dl, ah
mov byte [ebp - 0x384], dl
or al, cl
mov byte [ebp - 0x383], al
mov dl, byte [ebp - 0x380]
mov ah, byte [ebp - 0x381]
mov cl, byte [ebp - 0x382]
mov al, byte [ebp - 0x383]
mov dh, byte [ebp - 0x384]
mov ch, byte [ebp - 0x385]
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 0x10034095
jmp 0x1003497d
mov eax, dword [0x10064d30]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x394], ecx
add eax, 0x15ee12a5
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x390]
sub eax, 1
sub eax, 0x15ee12a5
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x394]
mov edx, dword [ebp - 0x398]
mov eax, dword [ebp - 0x38c]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x39b], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x39a], cl
and al, cl
mov byte [ebp - 0x399], al
mov cl, byte [ebp - 0x39a]
mov al, byte [ebp - 0x39b]
xor al, cl
mov byte [ebp - 0x39c], al
mov cl, byte [ebp - 0x39c]
mov al, byte [ebp - 0x399]
or al, cl
test al, 1
jne 0x10034138
jmp 0x10035029
mov eax, dword [0x10064d30]
mov dword [ebp - 0x3a8], eax
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x3a4], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x3a8]
imul eax, ecx
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x3ac]
and eax, 1
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3a4]
mov eax, dword [ebp - 0x3b0]
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x3b2], dl
xor al, cl
mov byte [ebp - 0x3b1], al
mov cl, byte [ebp - 0x3b1]
mov al, byte [ebp - 0x3b2]
or al, cl
mov byte [ebp - 0x3b3], al
mov al, byte [ebp - 0x3b3]
test al, 1
jne 0x100341d1
jmp 0x10035029
jmp 0x100341d6
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x3b8]
mov dword [ebp - 0xc], eax
jmp 0x100341ed
mov eax, dword [0x10064d30]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x3c0], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3bc]
and eax, 1
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x3c4]
cmp eax, 0
sete ah
cmp ecx, 0xa
setl al
mov ch, ah
xor ch, 0xff
mov byte [ebp - 0x3cb], ch
mov dl, al
xor dl, 0xff
mov byte [ebp - 0x3ca], dl
mov cl, 1
xor cl, 0
mov byte [ebp - 0x3c9], cl
and ch, 0
mov byte [ebp - 0x3c8], ch
and ah, cl
mov byte [ebp - 0x3c7], ah
and dl, 0
mov byte [ebp - 0x3c6], dl
and al, cl
mov byte [ebp - 0x3c5], al
mov cl, byte [ebp - 0x3c7]
mov al, byte [ebp - 0x3c8]
or al, cl
mov byte [ebp - 0x3cc], al
mov cl, byte [ebp - 0x3ca]
mov al, byte [ebp - 0x3cb]
mov dl, byte [ebp - 0x3cc]
mov ch, byte [ebp - 0x3c5]
mov ah, byte [ebp - 0x3c6]
or ah, ch
xor dl, ah
mov byte [ebp - 0x3ce], dl
or al, cl
mov byte [ebp - 0x3cd], al
mov al, byte [ebp - 0x3ce]
mov dl, byte [ebp - 0x3c9]
mov cl, byte [ebp - 0x3cd]
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x100342e7
jmp 0x1003518f
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3d8], eax
mov eax, dword [0x10064d30]
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d4]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x3e0], ecx
add eax, 0xef251a65
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x3dc]
sub eax, 1
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x3e4]
sub eax, 0xef251a65
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x3e8]
mov ecx, dword [ebp - 0x3d4]
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 - 0x3e9], al
mov al, byte [ebp - 0x3e9]
test al, 1
jne 0x1003437d
jmp 0x1003518f
mov eax, dword [ebp - 0x3d8]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [0x10064d30]
mov dword [ebp - 0x3f0], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x3f0]
sub eax, 0x72c80aa9
sub eax, 1
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x3f0]
mov ecx, dword [ebp - 0x3f8]
add ecx, 0x72c80aa9
imul eax, ecx
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x3f4]
mov ecx, dword [ebp - 0x3fc]
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 - 0x3fd], al
mov al, byte [ebp - 0x3fd]
test al, 1
jne 0x1003440b
jmp 0x10035194
mov eax, dword [0x10064d30]
mov dword [ebp - 0x40c], eax
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x408], ecx
add eax, 0x60cbea1e
sub eax, 1
sub eax, 0x60cbea1e
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x40c]
imul eax, ecx
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x408]
mov ecx, dword [ebp - 0x410]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x412], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x411], al
mov dl, byte [ebp - 0x411]
mov cl, byte [ebp - 0x412]
mov al, cl
xor al, 0xff
mov byte [ebp - 0x418], al
mov ch, dl
xor ch, 0xff
mov byte [ebp - 0x417], ch
mov ah, 1
xor ah, 1
mov byte [ebp - 0x416], ah
and al, 0xff
and cl, ah
and ch, 0xff
mov byte [ebp - 0x415], ch
and dl, ah
mov byte [ebp - 0x414], dl
or al, cl
mov byte [ebp - 0x413], al
mov al, byte [ebp - 0x416]
mov dl, byte [ebp - 0x417]
mov cl, byte [ebp - 0x418]
mov ah, byte [ebp - 0x413]
mov dh, byte [ebp - 0x414]
mov ch, byte [ebp - 0x415]
or ch, dh
xor ah, ch
mov byte [ebp - 0x41b], ah
or cl, dl
xor cl, 0xff
mov byte [ebp - 0x41a], cl
or al, 1
mov byte [ebp - 0x419], al
mov al, byte [ebp - 0x41b]
mov dl, byte [ebp - 0x419]
mov cl, byte [ebp - 0x41a]
and cl, dl
or al, cl
test al, 1
jne 0x1003451e
jmp 0x10035194
mov ecx, dword [0x10064d30]
mov eax, dword [0x10064d2c]
mov edx, ecx
add edx, 0x783bb050
sub edx, 1
sub edx, 0x783bb050
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x420], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x41f], al
xor cl, 0xff
mov byte [ebp - 0x41e], cl
xor al, 0xff
mov byte [ebp - 0x41d], al
mov al, 1
xor al, 1
mov byte [ebp - 0x41c], al
mov al, byte [ebp - 0x41d]
mov dl, byte [ebp - 0x41c]
mov cl, byte [ebp - 0x420]
mov ah, byte [ebp - 0x41e]
and ah, 0xff
mov byte [ebp - 0x423], ah
and cl, dl
mov byte [ebp - 0x422], cl
and al, 0xff
mov byte [ebp - 0x421], al
mov al, byte [ebp - 0x421]
mov ah, byte [ebp - 0x422]
mov dl, byte [ebp - 0x423]
mov ch, byte [ebp - 0x41c]
mov cl, byte [ebp - 0x41f]
and cl, ch
or dl, ah
mov byte [ebp - 0x425], dl
or al, cl
mov byte [ebp - 0x424], al
mov al, byte [ebp - 0x41c]
mov dl, byte [ebp - 0x41d]
mov cl, byte [ebp - 0x41e]
mov ch, byte [ebp - 0x424]
mov ah, byte [ebp - 0x425]
xor ah, ch
mov byte [ebp - 0x428], ah
or cl, dl
xor cl, 0xff
mov byte [ebp - 0x427], cl
or al, 1
mov byte [ebp - 0x426], al
mov al, byte [ebp - 0x428]
mov dl, byte [ebp - 0x426]
mov cl, byte [ebp - 0x427]
and cl, dl
or al, cl
mov byte [ebp - 0x429], al
mov al, byte [ebp - 0x429]
test al, 1
jne 0x1003463c
jmp 0x1003502e
mov byte [ebp - 0x151], 0
mov eax, dword [0x100632c0]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x430], eax
mov eax, dword [0x100632c4]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x438], eax
lea ecx, [0x10063e68]
lea eax, [0x1005c190]
add eax, 0x297
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a6c0
mov eax, dword [ebp - 0x438]
add esp, 8
lea ecx, [0x10063e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x434], eax
lea ecx, [0x10063e4c]
lea eax, [0x1005c190]
add eax, 0x251
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a170
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x430]
add esp, 8
lea ecx, [0x10063e4c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, eax
mov eax, dword [ebp - 0x178]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x440], eax
lea eax, [ebp - 0x154]
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x43c]
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 - 0x444], eax
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x444]
mov dword [eax], ecx
mov eax, dword [0x10064d30]
mov dword [ebp - 0x44c], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x44c]
mov edx, ecx
sub edx, 0xebb9df4c
sub edx, 1
add edx, 0xebb9df4c
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x451], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x450], al
xor cl, 0xff
mov byte [ebp - 0x44f], cl
xor al, 0xff
mov byte [ebp - 0x44e], al
mov al, 1
xor al, 0
mov byte [ebp - 0x44d], al
mov dl, byte [ebp - 0x44d]
mov ah, byte [ebp - 0x44e]
mov cl, byte [ebp - 0x44f]
mov dh, byte [ebp - 0x450]
mov bl, byte [ebp - 0x451]
mov al, cl
and al, 0
and bl, dl
mov ch, ah
and ch, 0
and dh, dl
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x10034821
jmp 0x1003502e
jmp 0x10032cb9
mov eax, dword [0x10064d30]
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x458]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x460], ecx
sub eax, 0xcd894084
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x45c]
sub ecx, 1
add ecx, 0xcd894084
imul eax, ecx
mov dword [ebp - 0x464], eax
mov eax, dword [ebp - 0x464]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x465], al
mov al, byte [ebp - 0x465]
mov ecx, dword [ebp - 0x460]
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x467], dl
xor al, cl
mov byte [ebp - 0x466], al
mov cl, byte [ebp - 0x466]
mov al, byte [ebp - 0x467]
or al, cl
test al, 1
jne 0x100348c0
jmp 0x10035199
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x46c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc], 1
mov eax, dword [0x10064d30]
mov dword [ebp - 0x470], eax
mov eax, dword [ebp - 0x470]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x478], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x478]
mov edx, dword [ebp - 0x474]
mov ecx, dword [ebp - 0x470]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x47a], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x479], al
mov cl, byte [ebp - 0x479]
mov al, byte [ebp - 0x47a]
and al, cl
mov byte [ebp - 0x47b], al
mov al, byte [ebp - 0x47b]
mov dl, byte [ebp - 0x479]
mov cl, byte [ebp - 0x47a]
xor cl, dl
or al, cl
test al, 1
jne 0x10034978
jmp 0x10035199
jmp 0x100338d5
mov eax, dword [0x10064d30]
mov dword [ebp - 0x480], eax
mov eax, dword [ebp - 0x480]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x488], ecx
sub eax, 0x1f85375e
mov dword [ebp - 0x484], eax
mov eax, dword [ebp - 0x484]
sub eax, 1
add eax, 0x1f85375e
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp - 0x48c]
mov eax, dword [ebp - 0x480]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x48d], al
mov cl, byte [ebp - 0x48d]
mov eax, dword [ebp - 0x488]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x48e], al
mov al, byte [ebp - 0x48e]
test al, 1
jne 0x10034a0a
jmp 0x10035144
mov eax, dword [0x10064d30]
mov dword [ebp - 0x49c], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x498], eax
xor eax, eax
sub eax, 1
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x494]
mov eax, dword [ebp - 0x49c]
add eax, ecx
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x4a0]
mov eax, dword [ebp - 0x49c]
imul eax, ecx
mov dword [ebp - 0x4a4], eax
mov ecx, dword [ebp - 0x498]
mov eax, dword [ebp - 0x4a4]
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x4a7], al
cmp ecx, 0xa
setl cl
mov byte [ebp - 0x4a6], cl
and al, cl
mov byte [ebp - 0x4a5], al
mov cl, byte [ebp - 0x4a6]
mov al, byte [ebp - 0x4a7]
xor al, cl
mov byte [ebp - 0x4a8], al
mov cl, byte [ebp - 0x4a8]
mov al, byte [ebp - 0x4a5]
or al, cl
test al, 1
jne 0x10034ab2
jmp 0x10035144
mov eax, dword [0x10064d30]
mov dword [ebp - 0x4b4], eax
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x4b0], ecx
sub eax, 0x75c8696a
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp - 0x4ac]
sub eax, 1
add eax, 0x75c8696a
mov dword [ebp - 0x4b8], eax
mov eax, dword [ebp - 0x4b0]
mov edx, dword [ebp - 0x4b8]
mov ecx, dword [ebp - 0x4b4]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [ebp - 0x4ba], cl
cmp eax, 0xa
setl al
mov byte [ebp - 0x4b9], al
mov al, byte [ebp - 0x4b9]
mov cl, byte [ebp - 0x4ba]
xor cl, 0xff
mov byte [ebp - 0x4bd], cl
xor al, 0xff
mov byte [ebp - 0x4bc], al
mov al, 1
xor al, 0
mov byte [ebp - 0x4bb], al
mov al, byte [ebp - 0x4bd]
and al, 0
mov byte [ebp - 0x4be], al
mov dl, byte [ebp - 0x4bb]
mov ah, byte [ebp - 0x4bc]
mov cl, byte [ebp - 0x4bd]
mov al, byte [ebp - 0x4be]
mov dh, byte [ebp - 0x4b9]
mov bl, byte [ebp - 0x4ba]
and bl, dl
mov ch, ah
and ch, 0
and dh, dl
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x10034b99
jmp 0x100351c5
mov eax, dword [0x10064d30]
mov dword [ebp - 0x4c4], eax
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [0x10064d2c]
mov dword [ebp - 0x4cc], ecx
sub eax, 0x55e35c75
sub eax, 1
add eax, 0x55e35c75
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x4c8]
mov eax, dword [ebp - 0x4c4]
imul eax, ecx
and eax, 1
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp - 0x4d0]
cmp eax, 0
sete al
mov byte [ebp - 0x4d1], al
mov cl, byte [ebp - 0x4d1]
mov eax, dword [ebp - 0x4cc]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x4d2], al
mov al, byte [ebp - 0x4d2]
test al, 1
jne 0x10034c26
jmp 0x100351c5
jmp 0x10033f8c
jmp 0x10033031
mov ecx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x158]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10011f20
add esp, 8
mov eax, dword [0x100632d0]
mov dword [ebp - 0x4d8], eax
mov eax, dword [ebp - 0x4d8]
mov word [eax - 0x5697a1cc], 0x32f
lea ecx, [0x10064150]
lea eax, [0x1005c190]
add eax, 0xae1
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004c050
add esp, 8
lea ecx, [0x10063d50]
lea eax, [0x10064150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [0x10063d10]
lea eax, [0x10064150]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0x100632c0]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x4e0], eax
mov eax, dword [0x100632c4]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x4e8], eax
lea ecx, [0x10063de8]
lea eax, [0x1005c190]
add eax, 0xc4
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10036c50
mov eax, dword [ebp - 0x4e8]
add esp, 8
lea ecx, [0x10063de8]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x4e4], eax
lea ecx, [0x1006416c]
lea eax, [0x1005c190]
add eax, 0xb2b
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004c350
mov edx, dword [ebp - 0x4e4]
mov eax, dword [ebp - 0x4e0]
add esp, 8
lea ecx, [0x1006416c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov ecx, eax
mov eax, dword [ebp - 0x174]
mov dword [eax], ecx
mov eax, dword [eax]
mov dword [ebp - 0x4dc], eax
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [ebp - 0x164]
sub esp, 8
mov dword [esp], 0x202
mov dword [esp + 4], ecx
call eax
mov eax, dword [0x100632e8]
mov dword [eax - 0x5697a1cc], 1
lea eax, [ebp - 0x50]
mov dword [ebp - 0x4fc], eax
lea ecx, [0x1006417c]
lea eax, [0x1005c190]
add eax, 0xb6e
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004cb50
mov edx, dword [ebp - 0x4fc]
mov eax, dword [ebp - 0x15c]
add esp, 8
lea ecx, [0x1006417c]
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 [0x100632c0]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x4f0], eax
mov eax, dword [0x100632c4]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x4f8], eax
lea ecx, [0x10063e68]
lea eax, [0x1005c190]
add eax, 0x297
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a6c0
mov eax, dword [ebp - 0x4f8]
add esp, 8
lea ecx, [0x10063e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x4f4], eax
lea ecx, [0x1006418c]
lea eax, [0x1005c190]
add eax, 0xba4
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004d870
mov edx, dword [ebp - 0x4f4]
mov eax, dword [ebp - 0x4f0]
add esp, 8
lea ecx, [0x1006418c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov dword [ebp - 0x4ec], eax
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x4ec]
mov dword [eax], ecx
mov eax, dword [eax]
lea ecx, [ebp - 0x50]
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 - 0x16c]
mov dword [eax], ecx
jmp 0x100332c8
mov eax, dword [0x10064d30]
mov dword [ebp - 0x504], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0x504]
sub eax, 0xd7a596d6
sub eax, 1
mov dword [ebp - 0x508], eax
mov eax, dword [ebp - 0x508]
add eax, 0xd7a596d6
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x500]
mov edx, dword [ebp - 0x50c]
mov eax, dword [ebp - 0x504]
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 - 0x50e], dl
xor al, cl
mov byte [ebp - 0x50d], al
mov cl, byte [ebp - 0x50d]
mov al, byte [ebp - 0x50e]
or al, cl
mov byte [ebp - 0x50f], al
mov al, byte [ebp - 0x50f]
test al, 1
jne 0x10034f71
jmp 0x100351ca
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc], 1
mov eax, dword [0x10064d30]
mov dword [ebp - 0x518], eax
mov eax, dword [0x10064d2c]
mov dword [ebp - 0x514], eax
mov eax, dword [ebp - 0x518]
sub eax, 0x7c45e9b
sub eax, 1
mov dword [ebp - 0x51c], eax
mov eax, dword [ebp - 0x51c]
add eax, 0x7c45e9b
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov eax, dword [ebp - 0x518]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [ebp - 0x521], al
mov al, byte [ebp - 0x521]
mov ecx, dword [ebp - 0x514]
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [ebp - 0x523], dl
xor al, cl
mov byte [ebp - 0x522], al
mov cl, byte [ebp - 0x522]
mov al, byte [ebp - 0x523]
or al, cl
test al, 1
jne 0x10035024
jmp 0x100351ca
jmp 0x100339cf
jmp 0x10034138
mov byte [ebp - 0x151], 0
mov eax, dword [0x100632c0]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x52c], eax
mov eax, dword [0x100632c4]
mov eax, dword [eax - 0x5697a1cc]
mov dword [ebp - 0x528], eax
lea ecx, [0x10063e68]
lea eax, [0x1005c190]
add eax, 0x297
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a6c0
mov eax, dword [ebp - 0x528]
add esp, 8
lea ecx, [0x10063e68]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [ebp - 0x530], eax
lea ecx, [0x10063e4c]
lea eax, [0x1005c190]
add eax, 0x251
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1003a170
add esp, 8
mov eax, dword [ebp - 0x52c]
mov edx, dword [ebp - 0x530]
lea ecx, [0x10063e4c]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call eax
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x534]
mov dword [eax], edx
mov eax, dword [eax]
lea edx, [ebp - 0x154]
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 - 0x160]
mov dword [eax], ecx
jmp 0x1003463c
jmp 0x10034a0a
jmp 0x10032f12
jmp 0x100331bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x10033640
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov dword [ebp - 0x538], eax
mov eax, dword [ebp - 0x538]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc], 1
jmp 0x10033a62
jmp 0x10033dca
jmp 0x100342e7
jmp 0x1003440b
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x53c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc], 1
jmp 0x100348c0
jmp 0x10034b99
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x540]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xc], 1
jmp 0x10034f71