Function at 0x4834eb
Capabilities:
Check for time delay via gettickcount
Check os version
Get common file path
Print debug messages
Read file on windows
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x669c
call fcn.004a98b0
mov eax, dword [0x4dd52c]
and word [ebp - 0x1234], 0
mov edx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 4], eax
push edi
xor eax, eax
inc dword [ebx + 0x14]
mov ecx, 0x3ff
lea edi, [ebp - 0x1232]
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0x14]
stosw word es:[edi], ax
mov eax, dword [ebx + 0x1f7a4]
mov dword [ebp - 0x6694], eax
xor eax, eax
inc eax
cmp ecx, eax
push 2
mov dword [ebp - 0x6670], edx
pop edi
jne 0x484d4e
cmp dword [ebp + 0x10], 0x2800
jne 0x484db1
or dword [ebp - 0x6688], 0xffffffff
lea edi, [ebx + 0x89e0]
mov ecx, 0xa00
rep movsd dword es:[edi], dword [esi]
cmp byte [ebx + 0x96f1], al
jne 0x483585
test byte [ebx + 0x1f775], 8
je 0x483585
mov dword [ebx + 0x1bf2c], eax
xor esi, esi
cmp word [ebx + 0x976a], si
jne 0x48365b
push 7
pop ecx
mov word [ebp - 0x2c], si
xor eax, eax
lea edi, [ebp - 0x2a]
rep stosd dword es:[edi], eax
push 0x94
push ebx
stosw word es:[edi], ax
call fcn.004a5597
xor edi, edi
inc edi
cmp eax, edi
jne 0x48360e
cmp word [ebx + 0x8d40], si
mov ax, word [ebx + 0x8a2e]
jle 0x4835cd
mov ax, word [ebx + 0x8d42]
push 0x10
lea ecx, [ebp - 0x2c]
push ecx
movsx eax, ax
push eax
push 0x93
push ebx
call fcn.004a6442
test eax, eax
je 0x483653
lea eax, [ebp - 0x2c]
push 0x4079a8
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x483653
cmp word [ebx + 0x1bf28], 2
setne al
mov dword [ebx + 0x1f798], eax
jmp 0x483659
push 0xeb
push ebx
call fcn.004a5597
cmp eax, edi
jne 0x483659
cmp byte [ebx + 0xae50], 1
jne 0x483653
mov ax, word [ebx + 0x8d40]
cmp ax, si
jne 0x48363f
cmp word [ebx + 0x8a2e], 0xb
je 0x48364b
cmp ax, si
jle 0x483653
cmp word [ebx + 0x8d42], 0xb
jne 0x483653
mov dword [ebx + 0x1f798], edi
jmp 0x483659
mov dword [ebx + 0x1f798], esi
xor esi, esi
cmp byte [ebx + 0x96eb], 1
jne 0x4838fd
cmp dword [ebx + 0x1bf2c], 1
jne 0x4838fd
xor eax, eax
push 0x40
pop ecx
mov byte [ebp - 0x234], 0
lea edi, [ebp - 0x233]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov edx, 0x81
mov word [ebp - 0x1950], si
mov ecx, edx
lea edi, [ebp - 0x194e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x1748], si
mov ecx, edx
lea edi, [ebp - 0x1746]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x1540], si
mov ecx, edx
lea edi, [ebp - 0x153e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x1b58], si
mov ecx, edx
lea edi, [ebp - 0x1b56]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
push 0x40
mov word [ebp - 0x1d60], si
mov ecx, edx
lea edi, [ebp - 0x1d5e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
pop ecx
xor eax, eax
mov byte [ebp - 0x130], 0
lea edi, [ebp - 0x12f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x40
stosb byte es:[edi], al
pop ecx
xor eax, eax
mov byte [ebp - 0x1338], 0
lea edi, [ebp - 0x1337]
rep stosd dword es:[edi], eax
push esi
stosw word es:[edi], ax
push esi
push 0x100
stosb byte es:[edi], al
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [ebp - 0x234]
push eax
push 0xffffffffffffffff
lea eax, [ebx + 0x1cb64]
push eax
push esi
push esi
mov dword [ebp - 0x668c], 0xf0
mov dword [ebp - 0x6690], esi
call edi
push esi
push esi
push 0x100
lea eax, [ebp - 0x1338]
push eax
push 0xffffffffffffffff
lea eax, [ebx + 0x1c754]
push eax
push esi
push esi
call edi
push 0x405e8c
lea eax, [ebp - 0x1950]
push eax
lea eax, [ebp - 0x1748]
push eax
push dword [ebx + 4]
call fcn.00480395
push 0x40c5f0
lea eax, [ebp - 0x1748]
push eax
lea eax, [ebp - 0x1950]
push eax
lea eax, [ebp - 0x1b58]
push 0x40c25c
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x14
lea eax, [ebp - 0x1b58]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, esi
mov dword [ebp - 0x6698], eax
je 0x483893
push 0x40c5d0
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x40c5b8
push dword [ebp - 0x6698]
mov dword [ebp - 0x6684], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x208
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x1d60]
push eax
push 0x4d
push ebx
call fcn.004a5cf3
push esi
push esi
push 0x100
lea eax, [ebp - 0x130]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x1d60]
push eax
push esi
push esi
call edi
cmp dword [ebp - 0x6684], esi
je 0x48385a
lea eax, [ebp - 0x1338]
push eax
lea eax, [ebp - 0x668c]
push eax
lea eax, [ebp - 0x3e6c]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x234]
push eax
call dword [ebp - 0x6684]
jmp 0x48387e
cmp dword [ebp - 0xc], esi
je 0x483887
lea eax, [ebp - 0x668c]
push eax
lea eax, [ebp - 0x3e6c]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x234]
push eax
call dword [ebp - 0xc]
movzx eax, ax
mov dword [ebp - 0x6690], eax
push dword [ebp - 0x6698]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp word [ebx + 0x976a], 1
mov dword [ebx + 0x1f77c], esi
jne 0x4838fd
cmp dword [ebp - 0x6690], 1
jne 0x4838fd
cmp dword [ebp - 0x668c], esi
je 0x4838fd
push 0x413334
lea eax, [ebp - 0x1748]
push eax
lea eax, [ebp - 0x1950]
push eax
lea eax, [ebp - 0x1540]
push 0x40c25c
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x14
lea eax, [ebp - 0x1540]
push eax
lea eax, [ebp - 0x3e6c]
push eax
push 0x480ae6
push dword [ebx + 4]
call fcn.004a8a90
mov dword [ebx + 0x1f77c], eax
push 0x2e
push ebx
call fcn.004a5917
cmp eax, esi
mov esi, dword [ebp - 0x6694]
mov dword [ebx + 0x1bf04], eax
jne 0x48395b
test esi, esi
je 0x483a72
cmp dword [esi + 0x1dfa8], 1
jne 0x483a72
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483a72
cmp eax, 2
jb 0x483a72
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x4132f8
jmp 0x4839a7
cmp eax, 1
jne 0x483a1b
test esi, esi
je 0x483a72
cmp dword [esi + 0x1dfa8], eax
jne 0x483a72
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483a72
cmp eax, 2
jb 0x483a72
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x4132c0
xor eax, eax
lea edi, [ebp - 0x1234]
mov ecx, 0x400
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x483a54
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x483a72
test esi, esi
je 0x483a72
cmp dword [esi + 0x1dfa8], 1
jne 0x483a72
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483a72
cmp eax, 2
jb 0x483a72
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x413268
jmp 0x4839a7
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [ebx + 0x1bf04], 0
jne 0x483f21
movzx eax, byte [ebx + 0x9771]
cmp eax, 1
mov dword [ebx + 0x1bf04], eax
jne 0x483ba3
cmp dword [esi + 0x1e068], eax
jne 0x483b50
cmp dword [esi + 0x1dfa8], eax
jne 0x483ba3
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483ba3
cmp eax, 2
jb 0x483ba3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x413200
xor eax, eax
lea edi, [ebp - 0x1234]
mov ecx, 0x400
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x483b85
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x483ba3
cmp dword [esi + 0x1dfa8], 1
jne 0x483ba3
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483ba3
cmp eax, 2
jb 0x483ba3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x413188
jmp 0x483adc
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [ebx + 0x1bf04], 2
jne 0x483ccc
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x668c], eax
mov dword [ebp - 0x6684], eax
lea eax, [ebp - 0x6684]
push eax
push 4
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x668c]
push eax
push 0x40c474
push dword [ebx + 4]
call sub.WINSPOOL.DRV_GetPrinterDataW
cmp dword [ebp - 0xc], 1
jne 0x483ccc
test esi, esi
mov dword [ebx + 0x1bf04], 1
je 0x483ccc
cmp dword [esi + 0x1dfa8], 1
jne 0x483ccc
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483ccc
cmp eax, 2
jb 0x483ccc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x413120
mov ecx, 0x400
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x483cae
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x483ccc
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 5
jae 0x483dba
test esi, esi
mov dword [ebx + 0x1bf04], 1
je 0x483dba
cmp dword [esi + 0x1dfa8], 1
jne 0x483dba
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483dba
cmp eax, 2
jb 0x483dba
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x4130a8
mov ecx, 0x400
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x483d9c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x483dba
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
mov eax, dword [ebx + 0x1bf04]
test eax, eax
jne 0x483e0a
test esi, esi
je 0x483f21
cmp dword [esi + 0x1dfa8], 1
jne 0x483f21
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483f21
cmp eax, 2
jb 0x483f21
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x413074
jmp 0x483e56
cmp eax, 1
jne 0x483eca
test esi, esi
je 0x483f21
cmp dword [esi + 0x1dfa8], eax
jne 0x483f21
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483f21
cmp eax, 2
jb 0x483f21
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x413044
xor eax, eax
lea edi, [ebp - 0x1234]
mov ecx, 0x400
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x483f03
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x483f21
test esi, esi
je 0x483f21
cmp dword [esi + 0x1dfa8], 1
jne 0x483f21
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x483f21
cmp eax, 2
jb 0x483f21
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x413018
jmp 0x483e56
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
push 0x2d
push ebx
call fcn.004a5917
cmp word [ebx + 0x8a44], 1
mov word [ebx + 0x1bf28], ax
jne 0x484083
push 0x1e
push ebx
call fcn.004a5917
push 0x1f
push ebx
mov edi, eax
call fcn.004a5597
push 0x20
push ebx
mov dword [ebp - 0x6684], eax
call fcn.004a5597
push 0x33
push ebx
mov dword [ebp - 0xc], eax
call fcn.004a5597
push 0x34
push ebx
mov dword [ebp - 0x668c], eax
call fcn.004a5597
push 0x7a
push ebx
mov dword [ebp - 0x6690], eax
call fcn.004a5597
xor ecx, ecx
inc ecx
cmp word [ebx + 0x1bf28], 4
je 0x48404c
cmp eax, ecx
jne 0x483fc1
cmp byte [ebx + 0x9677], 0
jne 0x48407a
cmp byte [ebx + 0x976d], 0
jne 0x48407a
cmp byte [ebx + 0x962b], 0
jne 0x48407a
cmp word [ebx + 0x8fb0], cx
jne 0x48400d
push 0xb3
push ebx
call fcn.004a5597
cmp eax, 1
je 0x483fea
push 0xe2
push ebx
call fcn.004a5597
cmp eax, 1
jne 0x484002
cmp word [ebx + 0x92c1], 0
jne 0x484002
mov word [ebx + 0x1bf2a], 2
jmp 0x48408b
mov word [ebx + 0x1bf2a], 1
jmp 0x48408b
cmp word [ebx + 0x96ad], 0
jg 0x48407a
cmp dword [ebp - 0xc], ecx
jne 0x484036
test di, di
je 0x48404c
cmp word [ebx + 0x94e5], di
jl 0x48404c
cmp word [ebx + 0x92c1], 0
jne 0x48407a
jmp 0x48404c
cmp dword [ebp - 0x6684], ecx
jne 0x484057
test di, di
je 0x48404c
cmp word [ebx + 0x94e5], di
jge 0x48407a
mov word [ebx + 0x1bf2a], 2
jmp 0x48408e
mov ax, word [ebx + 0x92c1]
cmp ax, 2
jne 0x48406c
cmp dword [ebp - 0x668c], ecx
je 0x48407a
cmp ax, 4
jne 0x48404c
cmp dword [ebp - 0x6690], ecx
jne 0x48404c
mov word [ebx + 0x1bf2a], cx
jmp 0x48408e
and word [ebx + 0x1bf2a], 0
xor ecx, ecx
inc ecx
cmp word [ebx + 0x8a44], cx
jne 0x4840bf
cmp word [ebx + 0x1bf2a], 2
jne 0x4840bf
mov eax, dword [ebx + 0x1f7a4]
cmp dword [eax + 0x1e068], 0
jne 0x4840bf
movsx eax, word [ebx + 0x8a36]
mov dword [ebx + 0x1f79c], eax
jmp 0x4840c5
mov dword [ebx + 0x1f79c], ecx
cmp word [ebx + 0x8fba], 0
je 0x484104
cmp word [ebx + 0x976a], cx
jne 0x484104
push ebx
push dword [ebx + 4]
lea eax, [ebp - 0x666c]
mov ecx, 0xa00
lea esi, [ebx + 0x89e0]
lea edi, [ebp - 0x666c]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004a47ed
mov esi, dword [ebp - 0x6694]
xor ecx, ecx
inc ecx
cmp word [ebx + 0x8f54], cx
jne 0x4842cd
push 0xad
push ebx
call fcn.004a5597
cmp eax, 1
push 7
pop ecx
jne 0x484241
and dword [ebp - 0x6684], 0
and dword [ebp - 0x6690], 0
xor eax, eax
cmp byte [ebx + 0xa911], al
lea edi, [ebp - 0x3d7c]
rep stosd dword es:[edi], eax
push 7
pop ecx
lea edi, [ebp - 0x28]
rep stosd dword es:[edi], eax
mov edi, 0x80000000
je 0x4841e9
push eax
push 0x80
push 3
push eax
push 1
push edi
lea eax, [ebx + 0x8d4c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
test eax, eax
mov dword [ebp - 0xc], eax
je 0x4841b3
push 0
lea eax, [ebp - 0x6684]
push eax
push 0x1c
lea eax, [ebp - 0x3d7c]
push eax
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0xc]
mov dword [ebp - 0x668c], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x668c], 0
jne 0x4841b3
xor eax, eax
jmp 0x4855ea
cmp dword [ebp - 0x3d7c], 0x314c564f
jne 0x4841cb
mov dword [ebx + 0x1f794], 1
jmp 0x4841e9
cmp word [ebx + 0x976a], 0
jne 0x4841e9
cmp dword [ebp - 0x3d7c], 0x53444154
je 0x4841e9
and word [ebx + 0x8f54], 0
cmp byte [ebx + 0xa912], 0
je 0x4842cd
push 0
push 0x80
push 3
push 0
push 1
push edi
lea eax, [ebx + 0xa709]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
test edi, edi
je 0x48429d
push 0
lea eax, [ebp - 0x6690]
push eax
push 0x1c
lea eax, [ebp - 0x28]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xc], 0
jmp 0x484297
xor edx, edx
push edx
push 0x80
push 3
push edx
xor eax, eax
push 1
lea edi, [ebp - 0x28]
rep stosd dword es:[edi], eax
push 0x80000000
lea eax, [ebx + 0x8d4c]
push eax
mov dword [ebp - 0xc], edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
test edi, edi
je 0x48429d
push 0
lea eax, [ebp - 0xc]
push eax
push 0x1c
lea eax, [ebp - 0x28]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
mov dword [ebp - 0x6684], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x6684], 0
je 0x4841ac
cmp dword [ebp - 0x28], 0x314c564f
jne 0x4842b2
mov dword [ebx + 0x1f794], 1
jmp 0x4842cd
cmp word [ebx + 0x976a], 0
jne 0x4842cd
cmp dword [ebp - 0x28], 0x53444154
je 0x4842cd
and word [ebx + 0x8f54], 0
cmp word [ebx + 0x8f54], 2
jne 0x4843b4
lea edi, [ebx + 0x8d4c]
push edi
push 0
push 0
push dword [ebx + 4]
call dword [ebx + 0x1befc]
cmp eax, 2
je 0x48439c
cmp eax, 7
je 0x48439c
push 0
push 0x80
push 2
push 0
push 1
push 0xc0000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edx, eax
xor eax, eax
cmp edx, 0xffffffff
mov dword [ebx + 0x8170], edx
je 0x4855ea
and dword [ebp - 0xc], eax
push 7
pop ecx
lea edi, [ebp - 0x3d7c]
rep stosd dword es:[edi], eax
mov ax, word [ebx + 0x8a2e]
mov word [ebp - 0x3d78], ax
mov ax, word [ebx + 0x8a2c]
mov word [ebp - 0x3d76], ax
mov ax, word [ebx + 0x8a3a]
mov word [ebp - 0x3d74], ax
mov ax, word [ebx + 0x941b]
push 0
mov word [ebp - 0x3d72], ax
lea eax, [ebp - 0xc]
push eax
push 0x1c
lea eax, [ebp - 0x3d7c]
push eax
push edx
mov dword [ebp - 0x3d7c], 0x314c564f
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x4843ea
jmp 0x4841ac
xor eax, eax
mov word [ebx + 0x8f54], ax
mov word [ebx + 0x8b30], ax
mov dword [ebp - 0x6688], eax
jmp 0x4843ea
cmp word [ebx + 0xa925], 2
jne 0x4843ea
lea eax, [ebx + 0xa929]
push eax
push 7
xor edi, edi
push edi
push dword [ebx + 4]
call dword [ebx + 0x1befc]
cmp eax, 2
je 0x4843dd
cmp eax, 7
jne 0x4843ea
mov word [ebx + 0xa925], di
mov dword [ebp - 0x6688], edi
cmp word [ebx + 0x93af], 5
jne 0x48442f
cmp word [ebx + 0x973c], 0
jne 0x48442f
mov ax, word [ebx + 0x8b1c]
test ax, ax
jle 0x48442f
movsx eax, ax
mov byte [ebp - 0xc], 1
mov byte [ebp - 0xb], 2
mov byte [ebp - 0xa], 4
mov byte [ebp - 9], 6
mov byte [ebp - 8], 9
mov byte [ebp - 7], 0x10
mov al, byte [ebp + eax - 0xc]
mov byte [ebx + 0x1bf18], al
cmp word [ebx + 0x8f54], 2
je 0x484517
cmp word [ebx + 0x9060], 0
jne 0x484517
cmp word [ebx + 0x8f60], 0
jne 0x484511
mov ax, word [ebx + 0x1bf2a]
cmp ax, 2
jne 0x484474
cmp word [ebx + 0x8a36], 1
jg 0x484511
cmp ax, 1
jne 0x4844b9
cmp word [ebx + 0x8a44], ax
jne 0x4844b9
mov cx, word [ebx + 0x978d]
movsx edx, word [ebx + 0x97ac]
mov ax, word [ebx + 0x8a36]
movsx edi, cx
add edx, edi
movsx edi, ax
cmp edi, edx
jne 0x4844b9
cmp ax, 1
jle 0x4844b9
cmp word [ebx + 0x941b], 1
jne 0x4844b9
test cx, cx
jg 0x484511
mov ax, word [ebx + 0x8f56]
cmp ax, 1
je 0x484511
cmp ax, 2
je 0x484511
xor edi, edi
cmp word [ebx + 0x8d44], di
jne 0x484511
cmp byte [ebx + 0x96ec], 0
jne 0x484511
push 0x15
push ebx
call fcn.004a5597
test eax, eax
jne 0x4844ff
cmp word [ebx + 0x8b16], 3
jne 0x4844ff
cmp word [ebx + 0x8b18], di
jg 0x484511
cmp byte [ebx + 0x1bf18], 1
ja 0x484511
cmp word [ebx + 0x973c], di
jle 0x484517
push ebx
call fcn.0048b65d
push esi
push ebx
call fcn.00480b8e
test esi, esi
je 0x4848b0
cmp dword [esi + 0x1dfa8], 1
jne 0x4848b0
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x484654
cmp eax, 2
jb 0x484654
and word [ebp - 0x2d60], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2d5e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
movsx eax, word [ebx + 0x8f54]
push eax
push 0x412fb8
lea eax, [ebp - 0x2d60]
push 0x800
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x4848b0
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x484654
cmp eax, 2
jb 0x484654
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2d60]
push eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x484636
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x484654
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x4848b0
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x484782
cmp eax, 2
jb 0x484782
and word [ebp - 0x2d60], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2d5e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
movzx eax, byte [ebx + 0xa911]
push eax
push 0x412f58
lea eax, [ebp - 0x2d60]
push 0x800
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x4848b0
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x484782
cmp eax, 2
jb 0x484782
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2d60]
push eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x484764
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x484782
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x4848b0
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x4848b0
cmp eax, 2
jb 0x4848b0
and word [ebp - 0x2d60], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2d5e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
movsx eax, word [ebx + 0x8fb4]
push eax
push 0x412ef8
lea eax, [ebp - 0x2d60]
push 0x800
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x4848b0
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x4848b0
cmp eax, 2
jb 0x4848b0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2d60]
push eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x484892
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4848b0
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp word [ebx + 0x8f54], 1
jne 0x484c0f
mov edi, 0xad
push edi
push ebx
call fcn.004a5597
cmp eax, 1
jne 0x4848d8
cmp byte [ebx + 0xa911], 0
jne 0x4848e7
push edi
push ebx
call fcn.004a5597
test eax, eax
jne 0x484c0f
xor edi, edi
cmp word [ebx + 0x8fb4], di
je 0x484c11
cmp esi, edi
je 0x4849cc
cmp dword [esi + 0x1dfa8], 1
jne 0x4849cc
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x4849cc
cmp eax, 2
jb 0x4849cc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x412eb8
mov ecx, 0x400
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x4849ae
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4849cc
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [ebx + 0x1f794], 1
jne 0x484b0a
push 0xad
push ebx
call fcn.004a5597
cmp eax, 1
jne 0x484b0a
test esi, esi
mov ax, word [ebx + 0x8a2e]
mov word [ebp - 0xc], ax
je 0x484ace
cmp dword [esi + 0x1dfa8], 1
jne 0x484ace
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x484ace
cmp eax, 2
jb 0x484ace
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x412e90
mov ecx, 0x400
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x484ab0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x484ace
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp word [ebx + 0x8d40], 0
jle 0x484ae6
mov ax, word [ebx + 0x8d42]
mov word [ebx + 0x8a2e], ax
lea eax, [ebx + 0x89e0]
push eax
push 2
push 0
push dword [ebx + 4]
call dword [ebx + 0x1bf00]
mov cx, word [ebp - 0xc]
mov word [ebx + 0x8a2e], cx
jmp 0x484bf4
test esi, esi
je 0x484be0
cmp dword [esi + 0x1dfa8], 1
jne 0x484be0
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x484be0
cmp eax, 2
jb 0x484be0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x412e6c
mov ecx, 0x400
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x484bc2
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x484be0
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
lea eax, [ebx + 0x8d4c]
push eax
push 2
push 0
push dword [ebx + 4]
call dword [ebx + 0x1befc]
cmp eax, 2
je 0x484bfe
cmp eax, 7
jne 0x484c4e
and word [ebx + 0x8f54], 0
and dword [ebp - 0x6688], 0
jmp 0x484c4e
xor edi, edi
cmp word [ebx + 0xa925], 1
jne 0x484c4e
cmp word [ebx + 0xa927], di
je 0x484c4e
lea eax, [ebx + 0xa929]
push eax
push 8
push edi
push dword [ebx + 4]
call dword [ebx + 0x1befc]
cmp eax, 2
je 0x484c41
cmp eax, 7
jne 0x484c4e
mov word [ebx + 0xa925], di
mov dword [ebp - 0x6688], edi
cmp word [ebp - 0x6688], 0
jne 0x484d3a
test esi, esi
je 0x484f4c
cmp dword [esi + 0x1dfa8], 1
jne 0x484f4c
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x484f4c
cmp eax, 2
jb 0x484f4c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x6680]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x412e34
mov ecx, 0x400
lea edi, [ebp - 0x1234]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x6672]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x6674]
push eax
movzx eax, word [ebp - 0x6676]
push eax
movzx eax, word [ebp - 0x6678]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1234]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1234]
push eax
jne 0x484d17
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x484f4c
add esi, 0x1dfa4
push 0x4060a8
push dword [esi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [esi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
jmp 0x484f4c
mov eax, dword [ebp - 0x6670]
mov dword [eax], 0x2800
xor eax, eax
inc eax
jmp 0x4855ea
cmp ecx, edi
jne 0x484d68
cmp dword [ebp + 0x10], edi
jne 0x484db1
mov cx, word [esi]
mov word [ebx + 0x1bf28], cx
mov dword [edx], edi
jmp 0x4855ea
cmp ecx, 3
jne 0x484d85
push 0xc
pop ecx
cmp dword [ebp + 0x10], ecx
jne 0x484db1
lea edi, [ebx + 0x1f780]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edx], ecx
jmp 0x4855ea
cmp ecx, 4
jne 0x484d9c
cmp dword [ebp + 0x10], ecx
jne 0x484db1
mov ecx, dword [esi]
mov dword [ebx + 0x1f778], ecx
jmp 0x4855ea
cmp ecx, 5
jne 0x484db1
push 8
pop ecx
cmp dword [ebp + 0x10], ecx
jne 0x484db1
lea edi, [ebx + 0x1f78c]
jmp 0x484d7c
cmp word [ebx + 0x8fba], 0
je 0x484e42
cmp dword [ebp + 0x10], 0x2800
jne 0x484e3a
lea edi, [ebx + 0x89e0]
push edi
push esi
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x484e3a
cmp word [ebx + 0x976a], 1
jne 0x484d3a
mov ax, word [esi + 0x4c]
mov word [ebx + 0x8a2c], ax
mov ax, word [esi + 0x4e]
mov word [ebx + 0x8a2e], ax
mov ax, word [esi + 0x52]
mov word [ebx + 0x8a32], ax
mov ax, word [esi + 0x50]
push ebx
push dword [ebx + 4]
mov word [ebx + 0x8a30], ax
mov esi, edi
lea eax, [ebp - 0x666c]
mov ecx, 0xa00
lea edi, [ebp - 0x666c]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004a47ed
jmp 0x484d3a
cmp word [ebx + 0x8fba], 0
mov edi, dword [sym.imp.msvcrt.dll_strncmp]
je 0x484ea5
push 0x13
push 0x412e20
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x484ea5
lea ecx, [ebx + 0x89e0]
lea eax, [esi + 0x13]
push ecx
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x484ea5
mov esi, dword [ebp - 0xc]
mov ax, word [esi + 0x4c]
push ebx
push dword [ebx + 4]
mov word [ebx + 0x8a2c], ax
lea eax, [ebp - 0x666c]
mov ecx, 0xa00
lea edi, [ebp - 0x666c]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004a47ed
jmp 0x485106
cmp dword [ebx + 0x90a2], 0
je 0x484f08
cmp word [ebx + 0x9060], 0
jne 0x484f08
push 0xe
push 0x412e10
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x484f08
lea ecx, [ebx + 0x89e0]
lea eax, [esi + 0xe]
push ecx
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x484f08
mov esi, dword [ebp - 0xc]
push ebx
push dword [ebx + 4]
lea eax, [ebp - 0x666c]
mov ecx, 0xa00
lea edi, [ebp - 0x666c]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004a47ed
jmp 0x485106
push 0x10
push 0x412dfc
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x484f69
mov eax, dword [ebx + 0x1bf08]
add esi, 0x10
mov edi, dword [esi]
add esi, 4
test eax, eax
je 0x484f39
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
and dword [ebx + 0x1bf08], 0
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
test eax, eax
mov dword [ebx + 0x1bf08], eax
jne 0x484f5a
mov eax, dword [ebp - 0x6670]
and dword [eax], 0
jmp 0x4841ac
push esi
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
jmp 0x485106
push 0x13
push 0x412de8
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x48503a
mov eax, dword [ebx + 0x1bf10]
add esi, 0x13
mov ecx, dword [esi]
add eax, ecx
mov dword [ebp - 0x6684], ecx
lea ecx, [ebx + 0x1bf14]
mov edx, dword [ecx]
add esi, 4
cmp eax, edx
mov dword [ebp - 0x668c], esi
mov dword [ebp - 0x6690], eax
jbe 0x484ffd
lea eax, [edx + 0x320]
push eax
push 0
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
test eax, eax
mov dword [ebp - 0xc], eax
je 0x4841ac
mov esi, dword [ebx + 0x1bf0c]
test esi, esi
je 0x484ff4
mov ecx, dword [ebx + 0x1bf10]
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebx + 0x1bf0c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x1bf0c], eax
mov eax, dword [ebx + 0x1bf10]
mov edx, dword [ebx + 0x1bf0c]
mov ecx, dword [ebp - 0x6684]
mov esi, dword [ebp - 0x668c]
shr eax, 3
lea edi, [edx + eax*8]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x6690]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 0x1bf10], eax
jmp 0x485106
push 0x11
push 0x412dd4
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x485116
mov eax, dword [ebx + 0x1bf20]
add esi, 0x11
mov ecx, dword [esi]
add eax, ecx
mov dword [ebp - 0x6684], ecx
lea ecx, [ebx + 0x1bf24]
mov edx, dword [ecx]
add esi, 4
cmp eax, edx
mov dword [ebp - 0x668c], esi
mov dword [ebp - 0x6690], eax
jbe 0x4850ce
lea eax, [edx + 0x320]
push eax
push 0
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
test eax, eax
mov dword [ebp - 0xc], eax
je 0x4841ac
mov esi, dword [ebx + 0x1bf1c]
test esi, esi
je 0x4850c5
mov ecx, dword [ebx + 0x1bf20]
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebx + 0x1bf1c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x1bf1c], eax
mov eax, dword [ebx + 0x1bf20]
mov edx, dword [ebx + 0x1bf1c]
mov ecx, dword [ebp - 0x6684]
mov esi, dword [ebp - 0x668c]
shr eax, 3
lea edi, [edx + eax*8]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x6690]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 0x1bf20], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x6670]
mov dword [ecx], eax
jmp 0x484d46
push dword [ebp + 0x10]
push esi
push ebx
call fcn.0048c409
cmp eax, 1
je 0x4853fa
cmp word [ebx + 0x8d3c], 0
je 0x485256
cmp word [ebx + 0x8d3e], 2
je 0x485256
cmp byte [esi], 0x1b
jne 0x4851fd
mov al, byte [esi + 1]
cmp al, 0xfb
jne 0x4851fd
cmp byte [esi + 2], 0xb
jne 0x4851d8
cmp byte [esi + 3], 0xfa
jne 0x4851d8
lea eax, [ebp - 0x1540]
push eax
xor esi, esi
push esi
push esi
push 0x23
push esi
call sub.SHELL32.dll_SHGetFolderPathW
lea edi, [ebx + 0xb800]
push edi
push esi
push 0x412dcc
lea eax, [ebp - 0x1540]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
lea eax, [ebp - 0x1540]
push edi
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
push esi
push 0x80
push 2
push esi
push esi
push 0xc0000000
lea eax, [ebp - 0x1540]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [ebx + 0x8174], eax
mov dword [ebx + 0x817c], esi
jne 0x4853fa
jmp 0x4841ac
cmp al, 0xfb
jne 0x4851fd
cmp byte [esi + 2], 0xb
jne 0x4851fd
cmp byte [esi + 3], al
jne 0x4851fd
lea eax, [ebx + 0x8174]
mov ecx, dword [eax]
or dword [eax], 0xffffffff
mov dword [ebx + 0x8178], ecx
jmp 0x4853fa
mov eax, dword [ebx + 0x8174]
cmp eax, 0xffffffff
mov edi, dword [ebp + 0x10]
je 0x48523a
push 0
push dword [ebp - 0x6670]
push edi
push esi
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4841ac
add dword [ebx + 0x817c], edi
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x6670]
mov dword [ecx], edi
jmp 0x4855ea
push dword [ebp - 0x6670]
add ebx, 0x1f778
push edi
push esi
push dword [ebx - 0x1f774]
push ebx
call fcn.00480a26
jmp 0x48522d
cmp word [ebx + 0x9060], 0
je 0x48527e
push dword [ebp - 0x6670]
push dword [ebp + 0x10]
push esi
push dword [ebx + 4]
add ebx, 0x1f778
push ebx
call fcn.00480a26
jmp 0x4855ea
cmp word [ebx + 0x8f54], 2
jne 0x4852e0
cmp dword [ebx + 0x18], 1
jne 0x4853fa
cmp dword [ebp + 0x10], 0x15
jne 0x4852ad
push 0x15
push 0x408a64
push esi
call edi
add esp, 0xc
test eax, eax
je 0x48535f
mov edi, dword [ebp + 0x10]
push 0
lea eax, [ebp - 0x669c]
push eax
push edi
push esi
push dword [ebx + 0x8170]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4841ac
cmp edi, dword [ebp - 0x669c]
je 0x4853fa
jmp 0x4841ac
test byte [ebx + 0x10], 0x40
je 0x4852fb
push dword [ebp - 0x6670]
push dword [ebp + 0x10]
push esi
push ebx
call fcn.0048b816
jmp 0x4855ea
cmp dword [ebp + 0x10], 0x13
jne 0x485348
push 0x13
push 0x40e958
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x485399
cmp word [ebx + 0x8f54], 1
jne 0x485337
push dword [0x4e22f4]
push dword [ebx + 4]
push ebx
call fcn.00485f08
test eax, eax
je 0x4841ac
mov eax, dword [ebp - 0x6670]
mov dword [eax], 0x13
jmp 0x484d46
cmp dword [ebp + 0x10], 0x15
jne 0x48537e
push 0x15
push 0x408a64
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x485399
cmp word [ebx + 0x8fba], 0
jne 0x484d46
mov eax, dword [ebp - 0x6670]
mov dword [eax], 0x15
jmp 0x484d46
cmp dword [ebp + 0x10], 0x10
jne 0x485399
push 0x10
push 0x412db8
push esi
call edi
add esp, 0xc
test eax, eax
je 0x484d46
push 0x16
push 0x40c6c4
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x4853b8
push eax
push eax
push eax
push eax
push 0x10025
push dword [esi + 0x16]
jmp 0x4853f4
push 0x13
push 0x40c6dc
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x4853d7
push eax
push eax
push eax
push eax
push 0x10015
push dword [esi + 0x13]
jmp 0x4853f4
push 0xe
push 0x40c6b4
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x48540a
push eax
push eax
push eax
push eax
push 0x10016
push dword [esi + 0xe]
call dword [sym.imp.GDI32.dll_ExtEscape]
mov eax, dword [ebp - 0x6670]
mov ecx, dword [ebp + 0x10]
mov dword [eax], ecx
jmp 0x484d46
mov eax, dword [ebx + 0x1f7a4]
cmp dword [eax + 0x1dfa8], 1
mov dword [ebp - 0x6688], eax
jne 0x4855cc
cmp dword [eax + 0x1dfac], 0
je 0x4855cc
and word [ebp - 0x2d60], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2d5e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x6688]
mov edx, dword [ebp + 0x10]
sub eax, dword [ecx + 0x1dfcc]
add dword [ecx + 0x1dfd0], edx
cmp eax, 0x3e8
mov edx, dword [ecx + 0x1dfd0]
jb 0x4855cc
mov eax, ecx
cmp dword [eax + 0x1dfa8], 1
jne 0x4855b3
mov eax, dword [eax + 0x1dfac]
test eax, eax
je 0x4855b3
cmp eax, 1
jb 0x4855b3
and word [ebp - 0x3d60], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x3d5e]
rep stosd dword es:[edi], eax
shr edx, 0xa
push edx
push 0x412d80
stosw word es:[edi], ax
lea eax, [ebp - 0x3d60]
push 0x800
push eax
call fcn.00431bde
mov eax, dword [ebp - 0x6688]
add esp, 0x10
cmp dword [eax + 0x1dfa8], 1
jne 0x4855b3
mov eax, dword [eax + 0x1dfac]
test eax, eax
je 0x4855b3
cmp eax, 1
jb 0x4855b3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3d70]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x2d60]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x3d60]
push eax
movzx eax, word [ebp - 0x3d62]
push 0x4132a0
push eax
movzx eax, word [ebp - 0x3d64]
push eax
movzx eax, word [ebp - 0x3d66]
push eax
movzx eax, word [ebp - 0x3d68]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x2d60]
push 0x800
push eax
call fcn.00431bde
mov eax, dword [ebp - 0x6688]
add esp, 0x2c
cmp word [eax + 0x1dfa0], 1
lea eax, [ebp - 0x2d60]
push eax
jne 0x48558f
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4855b3
mov edi, dword [ebp - 0x6688]
add edi, 0x1dfa4
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x6688]
and dword [ecx + 0x1dfd0], 0
mov dword [ecx + 0x1dfcc], eax
cmp word [ebx + 0x976a], 1
push dword [ebp - 0x6670]
push dword [ebp + 0x10]
push esi
je 0x48526a
push ebx
call fcn.00498d71
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.004a9585
leave
ret 0x10