Function at 0x42a5c2
Capabilities:
Get system information on windows
Query or enumerate registry value
Set file attributes

Disassembly:
push 0x514
mov eax, 0x488f09
call fcn.0047ceef
mov ebx, ecx
mov dword [ebp - 0x430], ebx
xor esi, esi
mov dword [ebp - 0x42c], esi
and dword [ebp - 4], esi
lea eax, [ebp - 0x424]
mov edi, 0x208
push edi
push esi
push eax
call sub.msvcrt.dll_memset
xor eax, eax
mov dword [ebp - 0x470], 1
add esp, 0xc
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x4b4], eax
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x4a8], eax
push edi
push eax
lea eax, [ebp - 0x21c]
push eax
call sub.msvcrt.dll_memset
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x4e4], eax
mov dword [ebp - 0x488], eax
push 9
pop ecx
lea edi, [ebp - 0x520]
mov dword [ebp - 0x4c0], eax
rep stosd dword es:[edi], eax
xor edi, edi
mov word [ebp - 0x45c], ax
mov dword [ebp - 0x4d0], edi
mov word [ebp - 0x440], ax
mov dword [ebp - 0x46c], edi
mov dword [ebp - 0x460], edi
mov dword [ebp - 0x4a4], edi
mov dword [ebp - 0x4a0], edi
mov dword [ebp - 0x49c], edi
mov dword [ebp - 0x4dc], edi
mov dword [ebp - 0x4d4], edi
mov dword [ebp - 0x4cc], edi
mov dword [ebp - 0x444], edi
mov dword [ebp - 0x484], edi
mov dword [ebp - 0x480], edi
mov dword [ebp - 0x4c8], edi
mov dword [ebp - 0x47c], edi
mov dword [ebp - 0x478], edi
mov dword [ebp - 0x450], edi
mov dword [ebp - 0x474], edi
mov dword [ebp - 0x4bc], edi
mov dword [ebp - 0x44c], edi
mov dword [ebp - 0x458], edi
mov dword [ebp - 0x43c], edi
mov dword [ebp - 0x434], edi
mov dword [ebp - 0x498], edi
mov dword [ebp - 0x4c4], edi
mov dword [ebp - 0x4fc], edi
mov dword [ebp - 0x4f8], edi
mov dword [ebp - 0x4f4], edi
mov dword [ebp - 0x4f0], edi
mov dword [ebp - 0x4ec], edi
mov dword [ebp - 0x4e8], edi
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x428], edi
test ebx, ebx
jne 0x42a76c
mov ebx, 0x80070057
jmp 0x42c350
cmp dword [ebx + 0x48], edi
jne 0x42a850
cmp dword [ebx + 0x50], 5
je 0x42a781
cmp dword [ebx + 0x50], 6
jne 0x42a7de
cmp dword [ebx + 0x54], 3
je 0x42a7de
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42a795
cmp eax, 0xffffffff
jne 0x42a797
mov eax, edi
push 0x40ab70
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
lea ecx, [ebp - 0x48c]
call fcn.0042a0ca
mov ecx, eax
mov dword [ebp - 0x428], ecx
test ecx, ecx
jns 0x42a850
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42a7d4
cmp eax, 0xffffffff
jne 0x42a7d6
mov eax, edi
push ecx
push 0x40abc0
jmp 0x42a83b
cmp dword [ebx + 0x50], 8
jne 0x42a850
cmp dword [ebx + 0x54], 3
je 0x42a850
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42a7f8
cmp eax, 0xffffffff
jne 0x42a7fa
mov eax, edi
push 0x40ac30
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
lea ecx, [ebp - 0x48c]
call fcn.0042a0ca
mov ecx, eax
mov dword [ebp - 0x428], ecx
test ecx, ecx
jns 0x42a850
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42a833
cmp eax, 0xffffffff
jne 0x42a835
mov eax, edi
push ecx
push 0x40ac90
push dword [0x490330]
push eax
call fcn.0041ad72
mov dword [ebp - 0x428], edi
add esp, 0x10
cmp dword [ebx + 0x54], 9
jne 0x42abc5
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x4a4]
push eax
push 0x110
push edi
push 0x40ad0c
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push eax
call fcn.004317c7
test eax, eax
jne 0x42a893
mov ebx, dword [ebp - 0x428]
jmp 0x42c350
push edi
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push eax
lea ecx, [ebp - 0x4a0]
call fcn.004316d6
mov esi, dword [ebp - 0x4a0]
test esi, esi
jne 0x42a8d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004317f4
mov ebx, eax
push ebx
call fcn.004314fa
mov esi, dword [ebp - 0x42c]
jmp 0x42c356
mov ebx, edi
mov dword [ebp - 0x440], edi
mov dword [ebp - 0x43c], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x44c], edx
push ecx
jmp 0x42aa92
mov ecx, dword [ebp - 0x47c]
call fcn.00439edb
test eax, eax
je 0x42aab0
test edi, edi
ja 0x42aab0
jb 0x42a922
cmp ebx, 0x493e0
jae 0x42aab0
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42a930
cmp eax, 0xffffffff
jne 0x42a932
xor eax, eax
push 0x40ad38
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
lea eax, [ebp - 0x428]
push eax
push 1
push esi
push 4
push 1
push dword [ebp - 0x4a4]
call dword [sym.imp.ADVAPI32.dll_RegNotifyChangeKeyValue]
push eax
call fcn.004317c7
test eax, eax
je 0x42ab6e
push 0xea60
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x42a9a7
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42a98f
cmp eax, 0xffffffff
jne 0x42a991
xor eax, eax
push 0x40ade0
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
jmp 0x42a9f9
test eax, eax
je 0x42a9f9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42a9c1
cmp eax, 0xffffffff
jne 0x42a9c3
xor eax, eax
push ebx
push 0x40ae78
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x10
test ebx, ebx
jle 0x42a9e5
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x428], ebx
test ebx, ebx
js 0x42a8c2
mov ebx, dword [ebp - 0x43c]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov ecx, eax
mov edi, edx
sub ecx, dword [ebp - 0x498]
sbb edi, dword [ebp - 0x44c]
cmp edi, edx
ja 0x42aa2b
jb 0x42aa19
cmp ecx, eax
ja 0x42aa2b
mov ebx, ecx
mov dword [ebp - 0x440], edi
mov dword [ebp - 0x43c], ebx
xor edi, edi
jmp 0x42aa38
mov eax, 0x80070216
push eax
mov edi, eax
call fcn.004314fa
push edi
call fcn.00431467
test edi, edi
jns 0x42aa57
mov ebx, 0x493e0
xor edi, edi
mov dword [ebp - 0x43c], ebx
mov dword [ebp - 0x440], edi
jmp 0x42aa5d
mov edi, dword [ebp - 0x440]
push 0
push 0x3e8
push edi
push ebx
call fcn.00487e10
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42aa7a
cmp ecx, 0xffffffff
jne 0x42aa7c
xor ecx, ecx
push edx
push eax
push 0x40af00
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
lea eax, [ebp - 0x47c]
mov edx, 0x40ad0c
push eax
push 0x40ad28
call fcn.00432dcc
test eax, eax
jns 0x42a8f9
push 0x5dc
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x434]
mov ecx, 0x40afa0
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.004333d9
mov ebx, eax
test ebx, ebx
jns 0x42aadf
push ebx
call fcn.004314fa
push ebx
call fcn.00431467
test ebx, ebx
js 0x42a8c2
cmp dword [ebp - 0x434], 0
mov edi, dword [ebp - 0x444]
je 0x42ab9d
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42ab0e
cmp eax, 0xffffffff
jne 0x42ab10
xor eax, eax
push 0x40aff0
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x48dcb8]
mov esi, eax
test ecx, ecx
je 0x42ab3e
cmp ecx, 0xffffffff
jne 0x42ab40
xor ecx, ecx
push esi
push 0x40b038
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
test esi, esi
je 0x42ab79
cmp esi, 0x80
je 0x42ab79
mov eax, 0x8000ffff
mov ebx, eax
push eax
jmp 0x42a8c3
mov ebx, dword [ebp - 0x428]
jmp 0x42a8c2
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42ab87
cmp eax, 0xffffffff
jne 0x42ab89
xor eax, eax
push 0x40b08c
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
test edi, edi
je 0x42abaf
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x444], 0
call fcn.00429ca3
mov ebx, eax
test ebx, ebx
js 0x42a8c2
xor ebx, ebx
jmp 0x42a8c8
mov eax, dword [ebx + 0x50]
cmp eax, 5
jne 0x42ac56
push 0x30
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
mov dword [ebp - 0x428], edi
test edi, edi
je 0x42ac31
push 0x30
push 0
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [edi + 4]
neg ecx
mov eax, edi
sbb ecx, ecx
push 0x30
and ecx, eax
push 0
push ecx
call sub.msvcrt.dll_memset
mov dword [edi], 0x401fe0
add esp, 0xc
xor eax, eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x28], eax
jmp 0x42ac33
xor edi, edi
push edi
lea ecx, [ebp - 0x42c]
call fcn.0042dbb3
mov esi, dword [ebp - 0x42c]
test esi, esi
jne 0x42acc6
mov eax, 0x8007000e
mov ebx, eax
push eax
jmp 0x42c351
cmp eax, 6
jne 0x42ad1a
push 0x20
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
mov dword [ebp - 0x428], ebx
test ebx, ebx
je 0x42aca8
xor eax, eax
mov edi, ebx
push 8
pop ecx
rep stosd dword es:[edi], eax
lea edi, [ebx + 4]
mov edx, ebx
neg edi
push 8
sbb edi, edi
pop ecx
and edi, edx
rep stosd dword es:[edi], eax
mov dword [ebx], 0x4020c8
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x18], eax
jmp 0x42acaa
mov ebx, edi
push ebx
lea ecx, [ebp - 0x42c]
call fcn.0042dbb3
mov esi, dword [ebp - 0x42c]
test esi, esi
je 0x42ac49
mov ebx, dword [ebp - 0x430]
lea eax, [ebp - 0x470]
mov ecx, ebx
push eax
lea edx, [ebp - 0x4d8]
call fcn.00429b6f
test eax, eax
js 0x42ae80
cmp dword [ebp - 0x4d8], 0
je 0x42ae80
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42acfd
cmp eax, 0xffffffff
jne 0x42acff
xor eax, eax
push 0x40b0cc
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
xor ebx, ebx
jmp 0x42c356
cmp eax, 7
jne 0x42ad71
push 0x18
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
mov dword [ebp - 0x428], ebx
test ebx, ebx
je 0x42aca8
push 6
xor eax, eax
mov edi, ebx
pop ecx
rep stosd dword es:[edi], eax
lea edi, [ebx + 4]
mov edx, ebx
neg edi
push 6
sbb edi, edi
pop ecx
and edi, edx
rep stosd dword es:[edi], eax
mov dword [ebx], 0x4020a8
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], eax
jmp 0x42acaa
cmp eax, 4
je 0x42ae3c
cmp eax, 2
je 0x42ae3c
cmp eax, 1
jne 0x42aded
push 0x2c
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
mov dword [ebp - 0x428], edi
test edi, edi
je 0x42ac31
push 0x2c
push 0
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [edi + 4]
neg ecx
mov eax, edi
sbb ecx, ecx
push 0x2c
and ecx, eax
push 0
push ecx
call sub.msvcrt.dll_memset
mov dword [edi], 0x4020ec
add esp, 0xc
xor eax, eax
mov dword [edi + 4], 1
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
jmp 0x42ac33
cmp eax, 8
jne 0x42ae32
push 0x24
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x42ae2a
mov dword [eax], 0x402068
mov dword [eax + 4], 8
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], edi
jmp 0x42ae2c
mov eax, edi
push eax
jmp 0x42ac34
mov eax, 0x8000ffff
jmp 0x42ac4e
push 0x18
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
mov dword [ebp - 0x428], ebx
test ebx, ebx
je 0x42aca8
push 6
xor eax, eax
mov edi, ebx
pop ecx
rep stosd dword es:[edi], eax
lea edi, [ebx + 4]
mov edx, ebx
neg edi
push 6
sbb edi, edi
pop ecx
and edi, edx
rep stosd dword es:[edi], eax
mov dword [ebx], 0x401ffc
jmp 0x42ad5e
mov edi, 0x104
lea eax, [ebp - 0x424]
push edi
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x42c342
cmp eax, edi
jb 0x42aeab
mov ebx, 0x8007007a
jmp 0x42c350
lea eax, [ebp - 0x480]
push eax
push 0
call fcn.00430d58
mov ebx, eax
test ebx, ebx
js 0x42c350
push edi
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x42c342
lea eax, [ebp - 0x4e0]
push eax
push 0
push 0x40b0ec
lea eax, [ebp - 0x21c]
push eax
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
lea eax, [ebp - 0x4b8]
push eax
push 0
push 0x406f00
lea eax, [ebp - 0x21c]
push eax
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
push ecx
mov ecx, dword [ebp - 0x4b8]
lea edx, [ebp - 0x468]
call fcn.00430f3b
mov ebx, eax
test ebx, ebx
js 0x42c350
mov ecx, dword [ebp - 0x430]
lea eax, [ebp - 0x438]
push eax
push 0
cmp dword [ecx + 0x50], 7
jne 0x42b0cc
mov edi, dword [ebp - 0x468]
push 0x406f18
push edi
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
lea eax, [ebp - 0x4ac]
push eax
push 0
push 0x407028
push edi
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
mov edi, dword [ebp - 0x438]
lea eax, [ebp - 0x448]
push eax
push 0
push 0x40b11c
push edi
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
lea eax, [ebp - 0x490]
push eax
push 0
push 0x40b12c
push edi
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
lea eax, [ebp - 0x494]
push eax
push 0
push 0x40b144
push edi
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
lea eax, [ebp - 0x454]
push eax
push 0
push 0x40b168
push edi
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
lea eax, [ebp - 0x464]
push eax
push 0
push 0x40b12c
push dword [ebp - 0x480]
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
mov eax, dword [esi]
mov edi, dword [eax]
mov ecx, edi
mov eax, dword [ebp - 0x430]
push dword [eax + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x54]
push dword [ebp - 0x448]
push dword [eax + 0x18]
lea eax, [ebp - 0x424]
push eax
call dword [0x4918b8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x42c350
mov edi, dword [ebp - 0x430]
cmp dword [edi + 0x50], 7
je 0x42b113
lea edx, [ebp - 0x45c]
lea ecx, [ebp - 0x4d0]
call fcn.0042a4f9
mov ebx, eax
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x4d0], 0
je 0x42b0dc
lea ecx, [ebp - 0x440]
call fcn.0042ee14
mov ebx, eax
test ebx, ebx
js 0x42c350
mov ax, word [ebp - 0x45c]
cmp ax, word [ebp - 0x440]
je 0x42b10d
mov eax, 0x800700d8
jmp 0x42ac4e
push 0x40b100
push dword [ebp - 0x468]
jmp 0x42af80
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
lea ecx, [ebp - 0x4c0]
call fcn.0042eec5
mov ebx, eax
test ebx, ebx
js 0x42c350
movzx eax, word [ebp - 0x520]
cmp eax, dword [ebp - 0x4c0]
jmp 0x42b0c0
cmp dword [edi + 0x50], 7
jne 0x42b180
lea eax, [ebp - 0x434]
mov ecx, 0x40b188
push eax
lea eax, [ebp - 0x4dc]
push eax
call fcn.004333d9
mov ebx, eax
test ebx, ebx
jns 0x42b137
push ebx
call fcn.004314fa
push ebx
call fcn.00431467
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x434], 0
je 0x42b599
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b160
cmp eax, 0xffffffff
jne 0x42b162
xor eax, eax
push 0x40b1d0
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
mov eax, 0x80070652
jmp 0x42ac4e
lea eax, [ebp - 0x434]
mov ecx, 0x40b230
push eax
lea eax, [ebp - 0x49c]
push eax
call fcn.004333d9
mov ebx, eax
test ebx, ebx
jns 0x42b1a4
push ebx
call fcn.004314fa
push ebx
call fcn.00431467
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x434], 0
je 0x42b1d2
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b1c9
cmp eax, 0xffffffff
jne 0x42b1cb
xor eax, eax
push 0x40b278
jmp 0x42b167
lea eax, [ebp - 0x428]
xor ebx, ebx
push eax
push 1
mov edx, 0x406234
mov dword [ebp - 0x428], ebx
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.004357f8
mov edi, eax
mov dword [ebp - 0x440], edi
test edi, edi
jns 0x42b20c
push edi
call fcn.004314fa
mov ebx, dword [ebp - 0x43c]
jmp 0x42b25f
lea eax, [ebp - 0x4c0]
push eax
push ebx
lea eax, [ebp - 0x4d0]
push eax
push ebx
push 0x406dcc
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, eax
sub ecx, ebx
je 0x42b256
dec ecx
sub ecx, 1
je 0x42b252
lea ecx, [ebp - 0x440]
push ecx
push eax
call fcn.004317c7
mov edi, dword [ebp - 0x440]
test eax, eax
jne 0x42b259
jmp 0x42b1fe
xor ebx, ebx
jmp 0x42b259
xor ebx, ebx
inc ebx
mov dword [ebp - 0x43c], ebx
push edi
call fcn.00431467
cmp dword [ebp - 0x428], 0
je 0x42b27a
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
js 0x42b2df
test ebx, ebx
je 0x42b2df
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b290
cmp eax, 0xffffffff
jne 0x42b292
xor eax, eax
push 0x40b2c8
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
mov edx, 0x406234
push 0x406dcc
call fcn.00430575
test eax, eax
jns 0x42b2df
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42b2c8
cmp ecx, 0xffffffff
jne 0x42b2ca
xor ecx, ecx
push eax
push 0x40b318
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
lea eax, [ebp - 0x434]
mov ecx, 0x40afa0
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.004333d9
mov ebx, eax
test ebx, ebx
jns 0x42b303
push ebx
call fcn.004314fa
push ebx
call fcn.00431467
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x434], 0
mov ebx, dword [ebp - 0x444]
je 0x42b3ad
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b332
cmp eax, 0xffffffff
jne 0x42b334
xor eax, eax
push 0x40aff0
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x48dcb8]
mov edi, eax
test ecx, ecx
je 0x42b362
cmp ecx, 0xffffffff
jne 0x42b364
xor ecx, ecx
push edi
push 0x40b038
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
test edi, edi
je 0x42b389
cmp edi, 0x80
jne 0x42ae32
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b397
cmp eax, 0xffffffff
jne 0x42b399
xor eax, eax
push 0x40b08c
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
test ebx, ebx
je 0x42b3bf
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x444], 0
mov edi, dword [ebp - 0x430]
cmp dword [edi + 0x50], 5
je 0x42b3d1
cmp dword [edi + 0x50], 6
jne 0x42b400
call fcn.00429ca3
test eax, eax
jns 0x42b400
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42b3e9
cmp ecx, 0xffffffff
jne 0x42b3eb
xor ecx, ecx
push eax
push 0x40b378
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
lea eax, [ebp - 0x434]
mov ecx, 0x40b3e8
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.004333d9
mov ebx, eax
test ebx, ebx
jns 0x42b424
push ebx
call fcn.004314fa
push ebx
call fcn.00431467
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x434], 0
je 0x42b455
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b449
cmp eax, 0xffffffff
jne 0x42b44b
xor eax, eax
push 0x40b428
jmp 0x42b167
lea eax, [ebp - 0x434]
mov ecx, 0x4060b0
push eax
lea eax, [ebp - 0x4cc]
push eax
call fcn.004333d9
mov ebx, eax
test ebx, ebx
jns 0x42b479
push ebx
call fcn.004314fa
push ebx
call fcn.00431467
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x434], 0
je 0x42b4b3
call fcn.0041aa70
test eax, eax
jns 0x42b4b3
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b4a7
cmp eax, 0xffffffff
jne 0x42b4a9
xor eax, eax
push 0x40b480
jmp 0x42b167
lea eax, [ebp - 0x434]
mov ecx, 0x40b4e8
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.004333d9
mov ebx, eax
test ebx, ebx
jns 0x42b4d7
push ebx
call fcn.004314fa
push ebx
call fcn.00431467
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x434], 0
mov ebx, dword [ebp - 0x484]
je 0x42b587
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b506
cmp eax, 0xffffffff
jne 0x42b508
xor eax, eax
push 0x40b538
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x48dcb8]
mov edi, eax
test ecx, ecx
je 0x42b536
cmp ecx, 0xffffffff
jne 0x42b538
xor ecx, ecx
push edi
push 0x40b580
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
test edi, edi
je 0x42b55d
cmp edi, 0x80
jne 0x42ae32
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b56b
cmp eax, 0xffffffff
jne 0x42b56d
xor eax, eax
push 0x40b5d4
push dword [0x490330]
push eax
call fcn.0041ad72
mov edi, dword [ebp - 0x430]
add esp, 0xc
test ebx, ebx
je 0x42b599
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x484], 0
mov edx, dword [edi + 0x54]
mov ecx, dword [ebp - 0x438]
call fcn.004287b8
test eax, eax
jns 0x42b5d1
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42b5ba
cmp ecx, 0xffffffff
jne 0x42b5bc
xor ecx, ecx
push eax
push 0x40b618
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
mov ecx, dword [ebp - 0x438]
lea edx, [ebp - 0x46c]
call fcn.00430b00
mov ebx, eax
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x46c], 0
je 0x42b673
cmp dword [edi + 0x4c], 0
jne 0x42b643
mov eax, dword [esi]
mov ecx, dword [ebp - 0x430]
mov edi, dword [eax + 4]
lea eax, [ebp - 0x460]
push eax
push dword [ecx + 0x30]
mov ecx, edi
call dword [0x4918b8]
mov ecx, esi
call edi
mov ebx, eax
sub eax, 0xc1900127
neg eax
sbb eax, eax
and dword [ebp - 0x470], eax
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x460], 0
mov ecx, 0x407800
jne 0x42b648
mov ecx, 0x407808
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b656
cmp eax, 0xffffffff
jne 0x42b658
xor eax, eax
push ecx
push 0x40b65c
push dword [0x490330]
push eax
call fcn.0041ad72
mov edi, dword [ebp - 0x430]
add esp, 0x10
mov eax, dword [ebp - 0x460]
test eax, eax
jne 0x42b8c5
mov eax, dword [0x48dcb8]
or ebx, 0xffffffff
test eax, eax
je 0x42b691
cmp eax, ebx
jne 0x42b693
xor eax, eax
push 0x40b698
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
call fcn.00428f45
test eax, eax
jns 0x42b6d5
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42b6be
cmp ecx, ebx
jne 0x42b6c0
xor ecx, ecx
push eax
push 0x40b6e0
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b6e2
cmp eax, ebx
jne 0x42b6e4
xor eax, eax
push 0x409c60
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
call fcn.0042dfdf
test eax, eax
jns 0x42b726
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42b70f
cmp ecx, ebx
jne 0x42b711
xor ecx, ecx
push eax
push 0x40b750
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b733
cmp eax, ebx
jne 0x42b735
xor eax, eax
push 0x409ca8
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
mov edx, 0x4099b8
push 0x409d04
call fcn.00430575
test eax, eax
jns 0x42b781
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42b76a
cmp ecx, ebx
jne 0x42b76c
xor ecx, ecx
push eax
push 0x40b7b8
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b78e
cmp eax, ebx
jne 0x42b790
xor eax, eax
push 0x409d28
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
mov edx, 0x4099b8
push 0x4099a8
call fcn.00430575
test eax, eax
jns 0x42b7dc
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42b7c5
cmp ecx, ebx
jne 0x42b7c7
xor ecx, ecx
push eax
push 0x40b7b8
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b7e9
cmp eax, ebx
jne 0x42b7eb
xor eax, eax
push 0x409d70
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
mov edx, 0x4099b8
call fcn.004300dc
test eax, eax
jns 0x42b832
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42b81b
cmp ecx, ebx
jne 0x42b81d
xor ecx, ecx
push eax
push 0x40b828
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b83f
cmp eax, ebx
jne 0x42b841
xor eax, eax
push 0x40b890
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0xc
lea eax, [ebp - 0x4b4]
push eax
push 0
push 0x40b8c0
push dword [ebp - 0x468]
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
lea eax, [ebp - 0x4b0]
push eax
push 0
push 0x4099a8
push dword [ebp - 0x4b4]
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
push dword [ebp - 0x4b0]
mov edx, dword [ebp - 0x21c]
push dword [ebp - 0x438]
mov ecx, dword [edi + 0x50]
call fcn.004291ad
mov ebx, eax
test ebx, ebx
js 0x42c350
mov eax, dword [ebp - 0x460]
cmp dword [edi + 0x4c], 0
je 0x42b8e5
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b8d9
cmp eax, 0xffffffff
jne 0x42b8db
xor eax, eax
push 0x40b8d8
jmp 0x42ad04
test eax, eax
jne 0x42b941
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b8f7
cmp eax, 0xffffffff
jne 0x42b8f9
xor eax, eax
push dword [ebp - 0x438]
push 0x40b928
push dword [0x490330]
push eax
call fcn.0041ad72
mov ecx, dword [ebp - 0x438]
add esp, 0x10
call fcn.0042fa4e
mov ebx, eax
test ebx, ebx
js 0x42c350
push 0x2002
push dword [ebp - 0x438]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x42c342
mov ebx, dword [ebp - 0x448]
mov ecx, ebx
call fcn.00438064
test eax, eax
jne 0x42badf
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42b964
cmp eax, 0xffffffff
jne 0x42b966
xor eax, eax
push ebx
push 0x406aec
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x10
mov ecx, ebx
call fcn.00457fb3
mov ebx, eax
test ebx, ebx
js 0x42c350
cmp dword [edi + 0x50], 6
jne 0x42badf
mov edi, dword [ebp - 0x480]
lea eax, [ebp - 0x4a8]
push eax
push 0
push 0x40b96c
push edi
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x42c350
mov ecx, dword [ebp - 0x4a8]
lea eax, [ebp - 0x488]
push eax
call fcn.0041a924
test eax, eax
jns 0x42b9fb
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42b9df
cmp ecx, 0xffffffff
jne 0x42b9e1
xor ecx, ecx
push eax
push 0x40b980
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
jmp 0x42badf
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42ba09
cmp eax, 0xffffffff
jne 0x42ba0b
xor eax, eax
push edi
push 0x40b9d8
push dword [0x490330]
push eax
call fcn.0041ad72
mov ecx, dword [ebp - 0x488]
lea eax, [ebp - 0x46c]
and dword [ebp - 0x46c], 0
add esp, 0x10
push eax
push edi
call fcn.0042ef74
mov ecx, eax
mov eax, dword [0x48dcb8]
test ecx, ecx
js 0x42babe
cmp dword [ebp - 0x46c], 0
je 0x42baa5
test eax, eax
je 0x42ba57
cmp eax, 0xffffffff
jne 0x42ba59
xor eax, eax
mov ebx, dword [ebp - 0x448]
push ebx
push 0x40ba30
push dword [0x490330]
push eax
call fcn.0041ad72
mov ecx, dword [ebp - 0x488]
add esp, 0x10
push ebx
call fcn.0042f014
test eax, eax
jns 0x42badf
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42ba93
cmp ecx, 0xffffffff
jne 0x42ba95
xor ecx, ecx
push eax
push ebx
push 0x40ba88
push dword [0x490330]
push ecx
jmp 0x42bad7
test eax, eax
je 0x42baae
cmp eax, 0xffffffff
jne 0x42bab0
xor eax, eax
push dword [ebp - 0x448]
push edi
push 0x40bb00
jmp 0x42bad0
test eax, eax
je 0x42bac7
cmp eax, 0xffffffff
jne 0x42bac9
xor eax, eax
push ecx
push edi
push 0x40bb98
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x14
mov eax, dword [esi]
mov edi, dword [eax + 8]
lea eax, [ebp - 0x4c8]
push eax
lea eax, [ebp - 0x478]
mov ecx, edi
push eax
call dword [0x4918b8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x42c350
mov eax, dword [esi]
mov edi, dword [eax + 0x14]
lea eax, [ebp - 0x4f0]
push eax
lea eax, [ebp - 0x4fc]
mov ecx, edi
push eax
call dword [0x4918b8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x42c350
lea edx, [ebp - 0x4f0]
lea ecx, [ebp - 0x4fc]
call fcn.0042a1e0
mov ebx, eax
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x460], 0
jne 0x42bbad
mov ecx, dword [ebp - 0x464]
call fcn.00438064
test eax, eax
je 0x42bbad
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42bb72
cmp eax, 0xffffffff
jne 0x42bb74
xor eax, eax
push dword [ebp - 0x490]
push dword [ebp - 0x464]
push 0x40bc10
push dword [0x490330]
push eax
call fcn.0041ad72
mov edx, dword [ebp - 0x490]
add esp, 0x14
mov ecx, dword [ebp - 0x464]
call fcn.00439aee
test eax, eax
je 0x42c342
lea ecx, [ebp - 0x48c]
call fcn.0042dc10
push ecx
lea ecx, [ebp - 0x444]
call fcn.0041a473
push ecx
lea ecx, [ebp - 0x4d4]
call fcn.0041a473
push ecx
lea ecx, [ebp - 0x4cc]
call fcn.0041a473
mov ecx, dword [ebp - 0x430]
xor eax, eax
inc eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x1c], 0
jne 0x42bbfe
xor ecx, ecx
mov dword [ebp - 0x428], ecx
jmp 0x42bcd1
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42bc0c
cmp eax, 0xffffffff
jne 0x42bc0e
xor eax, eax
push 0x40bc78
push dword [0x490330]
push eax
call fcn.0041ad72
xor eax, eax
add esp, 8
inc eax
mov edx, 0x406234
mov dword [ebp - 0x428], eax
lea eax, [ebp - 0x44c]
push eax
push 0x40bcb8
call fcn.00433933
test eax, eax
js 0x42bc9c
mov eax, dword [ebp - 0x44c]
xor ecx, ecx
test eax, eax
mov edx, 0x406528
sete cl
mov dword [ebp - 0x428], ecx
test eax, eax
je 0x42bc66
mov edx, 0x406534
test ecx, ecx
mov ecx, 0x40bcd8
jne 0x42bc74
mov ecx, 0x40bcf0
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42bc82
cmp eax, 0xffffffff
jne 0x42bc84
xor eax, eax
push edx
push ecx
push 0x40bd00
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x14
jmp 0x42bcc5
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42bcaa
cmp eax, 0xffffffff
jne 0x42bcac
xor eax, eax
push 0x406528
push 0x40bd80
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x10
mov ecx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x458]
test eax, eax
je 0x42c356
mov edi, dword [ebp - 0x494]
test eax, eax
jne 0x42bceb
test ecx, ecx
je 0x42bf8a
test ecx, ecx
je 0x42be39
mov eax, dword [ebp - 0x430]
lea edx, [ebp - 0x498]
mov ecx, dword [eax + 0x1c]
call fcn.00430b00
mov ebx, eax
test ebx, ebx
js 0x42c350
cmp dword [ebp - 0x498], 0
je 0x42be07
mov ecx, edi
call fcn.00438064
test eax, eax
je 0x42bd5d
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42bd37
cmp eax, 0xffffffff
jne 0x42bd39
xor eax, eax
push edi
push 0x40be30
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x10
mov ecx, edi
call fcn.0043970a
test eax, eax
je 0x42c342
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42bd6b
cmp eax, 0xffffffff
jne 0x42bd6d
xor eax, eax
push edi
push 0x40be88
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x10
mov ecx, edi
call fcn.004308af
mov ebx, eax
test ebx, ebx
js 0x42c350
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42bda1
cmp eax, 0xffffffff
jne 0x42bda3
xor eax, eax
mov ebx, dword [ebp - 0x430]
push edi
push dword [ebx + 0x1c]
push 0x40bed8
push dword [0x490330]
push eax
call fcn.0041ad72
mov ecx, dword [ebx + 0x1c]
add esp, 0x14
mov edx, edi
call fcn.00429e30
mov ebx, eax
test ebx, ebx
js 0x42c350
call fcn.00430628
mov ebx, eax
test ebx, ebx
js 0x42c350
push 1
push 0x40bcb8
call fcn.0043053a
mov ebx, eax
test ebx, ebx
js 0x42c350
xor eax, eax
mov dword [ebp - 0x428], eax
jmp 0x42bf40
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42be15
cmp eax, 0xffffffff
jne 0x42be17
xor eax, eax
mov ecx, dword [ebp - 0x430]
push dword [ecx + 0x1c]
push 0x40bf44
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x10
jmp 0x42bf40
mov ecx, dword [ebp - 0x454]
call fcn.00438064
test eax, eax
je 0x42bf40
mov ecx, edi
call fcn.00438064
test eax, eax
je 0x42be8b
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42be65
cmp eax, 0xffffffff
jne 0x42be67
xor eax, eax
push edi
push 0x40be30
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x10
mov ecx, edi
call fcn.0043970a
test eax, eax
je 0x42c342
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42be99
cmp eax, 0xffffffff
jne 0x42be9b
xor eax, eax
push edi
push 0x40be88
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x10
mov ecx, edi
call fcn.004308af
mov ebx, eax
test ebx, ebx
js 0x42c350
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42becf
cmp eax, 0xffffffff
jne 0x42bed1
xor eax, eax
push edi
push dword [ebp - 0x454]
push 0x40bed8
push dword [0x490330]
push eax
call fcn.0041ad72
mov ecx, dword [ebp - 0x454]
add esp, 0x14
mov edx, edi
call fcn.00429e30
mov ebx, eax
test ebx, ebx
js 0x42c350
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42bf11
cmp eax, 0xffffffff
jne 0x42bf13
xor eax, eax
push dword [ebp - 0x454]
push 0x40bf70
push dword [0x490330]
push eax
call fcn.0041ad72
mov ecx, dword [ebp - 0x454]
add esp, 0x10
call fcn.0043970a
test eax, eax
je 0x42c342
mov ecx, edi
call fcn.00438064
test eax, eax
je 0x42bf8a
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42bf59
cmp eax, 0xffffffff
jne 0x42bf5b
xor eax, eax
mov ebx, dword [ebp - 0x448]
push ebx
push edi
push 0x40bfd8
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x14
mov edx, ebx
mov ecx, edi
call fcn.0042a023
mov ebx, eax
test ebx, ebx
js 0x42c350
and dword [ebp - 0x458], 0
push ecx
lea ecx, [ebp - 0x450]
call fcn.0041a5b8
mov edx, dword [ebp - 0x4c8]
lea eax, [ebp - 0x450]
mov ecx, dword [ebp - 0x430]
push eax
call fcn.00429530
mov ebx, eax
test ebx, ebx
js 0x42c350
push ecx
lea ecx, [ebp - 0x474]
call fcn.0041a5b8
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
lea eax, [ebp - 0x474]
push eax
mov ecx, edi
call dword [0x4918b8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x42c350
push dword [ebp - 0x474]
lea eax, [ebp - 0x450]
push dword [ebp - 0x450]
push 0x40c028
push eax
call fcn.0041a612
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x42c350
call fcn.00430628
mov ebx, eax
test ebx, ebx
js 0x42c350
mov edi, 0x406234
push 0x407c44
mov edx, edi
call fcn.00430575
mov ebx, eax
test ebx, ebx
js 0x42c350
mov edx, edi
call fcn.004300dc
mov ebx, eax
test ebx, ebx
js 0x42c350
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42c060
cmp eax, 0xffffffff
jne 0x42c062
xor eax, eax
mov ebx, dword [ebp - 0x430]
push dword [ebx + 0x20]
push dword [ebp - 0x450]
push dword [ebp - 0x478]
push 0x40c038
push dword [0x490330]
push eax
call fcn.0041ad72
mov eax, dword [ebx + 0x50]
add esp, 0x18
cmp eax, 4
je 0x42c0d6
cmp eax, 1
je 0x42c0d6
cmp eax, 8
je 0x42c0d6
cmp eax, 2
je 0x42c0d6
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x4bc]
push eax
push 0xea60
push 0x384
call fcn.00435e35
mov ebx, eax
test ebx, ebx
js 0x42c350
mov edi, dword [ebp - 0x4bc]
jmp 0x42c0e6
and dword [ebp - 0x44c], 0
or edi, 0xffffffff
mov dword [ebp - 0x4bc], edi
push 0x407b18
mov edx, 0x406234
call fcn.00430575
mov ebx, eax
test ebx, ebx
js 0x42c350
mov edx, 0x406234
call fcn.004300dc
mov ebx, eax
test ebx, ebx
js 0x42c350
mov edx, dword [ebp - 0x450]
lea eax, [ebp - 0x458]
mov ecx, dword [ebp - 0x478]
push eax
mov eax, dword [ebp - 0x430]
push edi
mov dword [ebp - 0x4c4], 1
push dword [eax + 0x10]
push dword [eax + 0x20]
push dword [ebp - 0x44c]
call fcn.00426eb4
mov ebx, eax
cmp ebx, 0x40010004
jne 0x42c1c8
push ecx
lea eax, [ebp - 0x43c]
mov edx, 0x406234
push eax
push 0x407c44
call fcn.00432cb5
test eax, eax
js 0x42c198
cmp dword [ebp - 0x43c], 0
je 0x42c198
mov eax, dword [0x48dcb8]
mov edx, dword [0x490330]
test eax, eax
je 0x42c18a
cmp eax, 0xffffffff
jne 0x42c18c
xor eax, eax
mov ebx, 0xc1900109
mov ecx, 0x40c0b8
jmp 0x42c1b8
mov eax, dword [0x48dcb8]
mov edx, dword [0x490330]
test eax, eax
je 0x42c1ac
cmp eax, 0xffffffff
jne 0x42c1ae
xor eax, eax
mov ebx, 0xc1900106
mov ecx, 0x40c140
push ecx
push edx
push eax
call fcn.0041ad72
add esp, 0xc
jmp 0x42c28f
test ebx, ebx
js 0x42c28f
push ecx
lea eax, [ebp - 0x44c]
mov edi, 0x406234
push eax
push 0x407b18
mov edx, edi
call fcn.00433933
test eax, eax
jns 0x42c28f
push ecx
lea eax, [ebp - 0x43c]
mov edx, edi
push eax
push 0x407c44
call fcn.00432cb5
test eax, eax
js 0x42c23b
cmp dword [ebp - 0x43c], 0
je 0x42c23b
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42c220
cmp eax, 0xffffffff
jne 0x42c222
xor eax, eax
push ebx
push 0x40c1c8
push dword [0x490330]
push eax
call fcn.0041ad72
mov ebx, 0xc1900109
jmp 0x42c28c
mov eax, dword [0x48dcb8]
cmp ebx, 1
jne 0x42c26a
test eax, eax
je 0x42c24e
cmp eax, 0xffffffff
jne 0x42c250
xor eax, eax
push 1
push 0x40c260
push dword [0x490330]
push eax
call fcn.0041ad72
mov ebx, 0xc1900106
jmp 0x42c28c
test eax, eax
je 0x42c273
cmp eax, 0xffffffff
jne 0x42c275
xor eax, eax
push ebx
push 0x40c300
push dword [0x490330]
push eax
call fcn.0041ad72
mov ebx, 0xc190011f
add esp, 0x10
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42c29d
cmp eax, 0xffffffff
jne 0x42c29f
xor eax, eax
push ebx
push 0x40c398
push dword [0x490330]
push eax
call fcn.0041ad72
mov edi, dword [ebp - 0x430]
add esp, 0x10
cmp dword [edi + 0x50], 7
jne 0x42c2f5
mov ecx, dword [ebp - 0x4ac]
call fcn.00427b6b
test eax, eax
jns 0x42c2f5
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42c2de
cmp ecx, 0xffffffff
jne 0x42c2e0
xor ecx, ecx
push eax
push 0x40c3e8
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
mov edx, dword [edi + 0x54]
mov ecx, dword [ebp - 0x438]
call fcn.004287b8
test eax, eax
jns 0x42c32d
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42c316
cmp ecx, 0xffffffff
jne 0x42c318
xor ecx, ecx
push eax
push 0x40b618
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x10
mov eax, dword [ebp - 0x458]
test eax, eax
je 0x42c356
mov ecx, dword [ebp - 0x428]
jmp 0x42bcd9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004317f4
mov ebx, eax
push ebx
call fcn.004314fa
mov eax, dword [ebp - 0x430]
cmp dword [eax + 0x50], 6
jne 0x42c3a3
cmp dword [ebp - 0x4c4], 0
jne 0x42c3df
mov edi, 0x80070005
cmp ebx, edi
jne 0x42c3df
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42c382
cmp eax, 0xffffffff
jne 0x42c384
xor eax, eax
mov ebx, 0xc19001e9
push ebx
push edi
push 0x40c454
push 0x40c468
push dword [0x490330]
push eax
call fcn.0041ad72
jmp 0x42c3dc
mov eax, 0xc19001e9
cmp ebx, eax
jne 0x42c3df
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42c3bb
cmp ecx, 0xffffffff
jne 0x42c3bd
xor ecx, ecx
mov edi, 0x80070005
push edi
push eax
push 0x40c454
push 0x40c4d8
push dword [0x490330]
push ecx
call fcn.0041ad72
mov ebx, edi
add esp, 0x18
cmp dword [ebp - 0x470], 0
je 0x42c482
call fcn.00430628
mov ecx, eax
test ecx, ecx
js 0x42c458
push ebx
push 0x40a72c
call fcn.0043053a
mov ecx, eax
test ecx, ecx
js 0x42c43b
mov edx, 0x406234
call fcn.004300dc
test eax, eax
jns 0x42c482
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42c425
cmp ecx, 0xffffffff
jne 0x42c427
xor ecx, ecx
push eax
push 0x40c454
push 0x40c548
push dword [0x490330]
push ecx
jmp 0x42c47a
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42c449
cmp eax, 0xffffffff
jne 0x42c44b
xor eax, eax
push ecx
push 0x40c454
push 0x40c5b8
jmp 0x42c473
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42c466
cmp eax, 0xffffffff
jne 0x42c468
xor eax, eax
push ecx
push 0x40c454
push 0x40c620
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x14
test ebx, ebx
jns 0x42c4fb
test esi, esi
je 0x42c4d1
mov eax, dword [esi]
push ebx
push dword [ebp - 0x4c4]
mov edi, dword [eax + 0x10]
mov ecx, edi
call dword [0x4918b8]
mov ecx, esi
call edi
test eax, eax
jns 0x42c4d1
mov ecx, dword [0x48dcb8]
test ecx, ecx
je 0x42c4b5
cmp ecx, 0xffffffff
jne 0x42c4b7
xor ecx, ecx
push eax
push 0x40c454
push 0x40c6a8
push dword [0x490330]
push ecx
call fcn.0041ad72
add esp, 0x14
mov eax, dword [0x48dcb8]
test eax, eax
je 0x42c4df
cmp eax, 0xffffffff
jne 0x42c4e1
xor eax, eax
push ebx
push 0x40c454
push 0x406200
push dword [0x490330]
push eax
call fcn.0041ad72
add esp, 0x14
cmp dword [ebp - 0x49c], 0
je 0x42c513
push 0x406dcc
mov edx, 0x406234
call fcn.00430575
push ebx
call fcn.00431467
lea ecx, [ebp - 0x4f0]
call fcn.0043071d
lea ecx, [ebp - 0x4fc]
call fcn.0043071d
lea ecx, [ebp - 0x474]
call fcn.0041a885
lea ecx, [ebp - 0x450]
call fcn.0041a885
lea ecx, [ebp - 0x478]
call fcn.0041a885
lea ecx, [ebp - 0x47c]
call fcn.0041a885
lea ecx, [ebp - 0x4c8]
call fcn.0041a885
lea ecx, [ebp - 0x480]
call fcn.0041a885
lea ecx, [ebp - 0x484]
call fcn.0041a5f5
lea ecx, [ebp - 0x444]
call fcn.0041a5f5
lea ecx, [ebp - 0x4cc]
call fcn.0041a5f5
lea ecx, [ebp - 0x4d4]
call fcn.0041a5f5
lea ecx, [ebp - 0x4dc]
call fcn.0041a5f5
lea ecx, [ebp - 0x49c]
call fcn.0041a5f5
lea ecx, [ebp - 0x4a0]
call fcn.0041a5f5
lea ecx, [ebp - 0x4a4]
call fcn.0042c692
lea ecx, [ebp - 0x488]
call fcn.0042dc10
lea ecx, [ebp - 0x4e4]
call fcn.0042dc10
lea ecx, [ebp - 0x48c]
call fcn.0042dc10
lea ecx, [ebp - 0x4a8]
call fcn.0041a885
lea ecx, [ebp - 0x490]
call fcn.0041a885
lea ecx, [ebp - 0x464]
call fcn.0041a885
lea ecx, [ebp - 0x454]
call fcn.0041a885
lea ecx, [ebp - 0x494]
call fcn.0041a885
lea ecx, [ebp - 0x4ac]
call fcn.0041a885
lea ecx, [ebp - 0x448]
call fcn.0041a885
lea ecx, [ebp - 0x438]
call fcn.0041a885
lea ecx, [ebp - 0x4b0]
call fcn.0041a885
lea ecx, [ebp - 0x4b4]
call fcn.0041a885
lea ecx, [ebp - 0x468]
call fcn.0041a885
lea ecx, [ebp - 0x4b8]
call fcn.0041a885
lea ecx, [ebp - 0x4e0]
call fcn.0041a885
lea ecx, [ebp - 0x42c]
call fcn.0042dbea
mov eax, ebx
call fcn.0047cea1
ret