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

Disassembly:
push 0x514
mov eax, 0x489dd5
call fcn.0047dc8f
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 0x42b303
mov ebx, 0x80070057
jmp 0x42cee8
cmp dword [ebx + 0x48], edi
jne 0x42b3e7
cmp dword [ebx + 0x50], 5
je 0x42b318
cmp dword [ebx + 0x50], 6
jne 0x42b375
cmp dword [ebx + 0x54], 3
je 0x42b375
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b32c
cmp eax, 0xffffffff
jne 0x42b32e
mov eax, edi
push 0x40ab10
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
lea ecx, [ebp - 0x48c]
call fcn.0042ac61
mov ecx, eax
mov dword [ebp - 0x428], ecx
test ecx, ecx
jns 0x42b3e7
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b36b
cmp eax, 0xffffffff
jne 0x42b36d
mov eax, edi
push ecx
push 0x40ab60
jmp 0x42b3d2
cmp dword [ebx + 0x50], 8
jne 0x42b3e7
cmp dword [ebx + 0x54], 3
je 0x42b3e7
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b38f
cmp eax, 0xffffffff
jne 0x42b391
mov eax, edi
push 0x40abd0
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
lea ecx, [ebp - 0x48c]
call fcn.0042ac61
mov ecx, eax
mov dword [ebp - 0x428], ecx
test ecx, ecx
jns 0x42b3e7
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b3ca
cmp eax, 0xffffffff
jne 0x42b3cc
mov eax, edi
push ecx
push 0x40ac30
push dword [0x491330]
push eax
call fcn.0041aecf
mov dword [ebp - 0x428], edi
add esp, 0x10
cmp dword [ebx + 0x54], 9
jne 0x42b75c
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x4a4]
push eax
push 0x110
push edi
push 0x40acac
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push eax
call fcn.004324b0
test eax, eax
jne 0x42b42a
mov ebx, dword [ebp - 0x428]
jmp 0x42cee8
push edi
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push eax
lea ecx, [ebp - 0x4a0]
call fcn.004323bf
mov esi, dword [ebp - 0x4a0]
test esi, esi
jne 0x42b46a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004324dd
mov ebx, eax
push ebx
call fcn.004321e3
mov esi, dword [ebp - 0x42c]
jmp 0x42ceee
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 0x42b629
mov ecx, dword [ebp - 0x47c]
call fcn.0043ac8b
test eax, eax
je 0x42b647
test edi, edi
ja 0x42b647
jb 0x42b4b9
cmp ebx, 0x493e0
jae 0x42b647
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b4c7
cmp eax, 0xffffffff
jne 0x42b4c9
xor eax, eax
push 0x40acd8
push dword [0x491330]
push eax
call fcn.0041aecf
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.004324b0
test eax, eax
je 0x42b705
push 0xea60
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x42b53e
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b526
cmp eax, 0xffffffff
jne 0x42b528
xor eax, eax
push 0x40ad80
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
jmp 0x42b590
test eax, eax
je 0x42b590
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b558
cmp eax, 0xffffffff
jne 0x42b55a
xor eax, eax
push ebx
push 0x40ae18
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x10
test ebx, ebx
jle 0x42b57c
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x428], ebx
test ebx, ebx
js 0x42b459
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 0x42b5c2
jb 0x42b5b0
cmp ecx, eax
ja 0x42b5c2
mov ebx, ecx
mov dword [ebp - 0x440], edi
mov dword [ebp - 0x43c], ebx
xor edi, edi
jmp 0x42b5cf
mov eax, 0x80070216
push eax
mov edi, eax
call fcn.004321e3
push edi
call fcn.00432150
test edi, edi
jns 0x42b5ee
mov ebx, 0x493e0
xor edi, edi
mov dword [ebp - 0x43c], ebx
mov dword [ebp - 0x440], edi
jmp 0x42b5f4
mov edi, dword [ebp - 0x440]
push 0
push 0x3e8
push edi
push ebx
call fcn.00488bb0
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42b611
cmp ecx, 0xffffffff
jne 0x42b613
xor ecx, ecx
push edx
push eax
push 0x40aea0
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
lea eax, [ebp - 0x47c]
mov edx, 0x40acac
push eax
push 0x40acc8
call fcn.00433abc
test eax, eax
jns 0x42b490
push 0x5dc
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x434]
mov ecx, 0x40af40
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.004340c9
mov ebx, eax
test ebx, ebx
jns 0x42b676
push ebx
call fcn.004321e3
push ebx
call fcn.00432150
test ebx, ebx
js 0x42b459
cmp dword [ebp - 0x434], 0
mov edi, dword [ebp - 0x444]
je 0x42b734
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b6a5
cmp eax, 0xffffffff
jne 0x42b6a7
xor eax, eax
push 0x40af90
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x48ecb8]
mov esi, eax
test ecx, ecx
je 0x42b6d5
cmp ecx, 0xffffffff
jne 0x42b6d7
xor ecx, ecx
push esi
push 0x40afd8
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
test esi, esi
je 0x42b710
cmp esi, 0x80
je 0x42b710
mov eax, 0x8000ffff
mov ebx, eax
push eax
jmp 0x42b45a
mov ebx, dword [ebp - 0x428]
jmp 0x42b459
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b71e
cmp eax, 0xffffffff
jne 0x42b720
xor eax, eax
push 0x40b02c
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
test edi, edi
je 0x42b746
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x444], 0
call fcn.0042a83a
mov ebx, eax
test ebx, ebx
js 0x42b459
xor ebx, ebx
jmp 0x42b45f
mov eax, dword [ebx + 0x50]
cmp eax, 5
jne 0x42b7ed
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 0x42b7c8
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 0x42b7ca
xor edi, edi
push edi
lea ecx, [ebp - 0x42c]
call fcn.0042e882
mov esi, dword [ebp - 0x42c]
test esi, esi
jne 0x42b85d
mov eax, 0x8007000e
mov ebx, eax
push eax
jmp 0x42cee9
cmp eax, 6
jne 0x42b8b1
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 0x42b83f
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 0x42b841
mov ebx, edi
push ebx
lea ecx, [ebp - 0x42c]
call fcn.0042e882
mov esi, dword [ebp - 0x42c]
test esi, esi
je 0x42b7e0
mov ebx, dword [ebp - 0x430]
lea eax, [ebp - 0x470]
mov ecx, ebx
push eax
lea edx, [ebp - 0x4d8]
call fcn.0042a706
test eax, eax
js 0x42ba17
cmp dword [ebp - 0x4d8], 0
je 0x42ba17
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42b894
cmp eax, 0xffffffff
jne 0x42b896
xor eax, eax
push 0x40b06c
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
xor ebx, ebx
jmp 0x42ceee
cmp eax, 7
jne 0x42b908
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 0x42b83f
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 0x42b841
cmp eax, 4
je 0x42b9d3
cmp eax, 2
je 0x42b9d3
cmp eax, 1
jne 0x42b984
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 0x42b7c8
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 0x42b7ca
cmp eax, 8
jne 0x42b9c9
push 0x24
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x42b9c1
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 0x42b9c3
mov eax, edi
push eax
jmp 0x42b7cb
mov eax, 0x8000ffff
jmp 0x42b7e5
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 0x42b83f
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 0x42b8f5
mov edi, 0x104
lea eax, [ebp - 0x424]
push edi
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x42ceda
cmp eax, edi
jb 0x42ba42
mov ebx, 0x8007007a
jmp 0x42cee8
lea eax, [ebp - 0x480]
push eax
push 0
call fcn.00431a28
mov ebx, eax
test ebx, ebx
js 0x42cee8
push edi
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x42ceda
lea eax, [ebp - 0x4e0]
push eax
push 0
push 0x40b08c
lea eax, [ebp - 0x21c]
push eax
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
lea eax, [ebp - 0x4b8]
push eax
push 0
push 0x406f00
lea eax, [ebp - 0x21c]
push eax
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov ecx, dword [ebp - 0x4b8]
lea edx, [ebp - 0x468]
push 0
call fcn.00431c0b
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov ecx, dword [ebp - 0x430]
lea eax, [ebp - 0x438]
push eax
push 0
cmp dword [ecx + 0x50], 7
jne 0x42bc64
mov edi, dword [ebp - 0x468]
push 0x406f18
push edi
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
lea eax, [ebp - 0x4ac]
push eax
push 0
push 0x407028
push edi
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov edi, dword [ebp - 0x438]
lea eax, [ebp - 0x448]
push eax
push 0
push 0x40b0bc
push edi
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
lea eax, [ebp - 0x490]
push eax
push 0
push 0x40b0cc
push edi
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
lea eax, [ebp - 0x494]
push eax
push 0
push 0x40b0e4
push edi
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
lea eax, [ebp - 0x454]
push eax
push 0
push 0x40b108
push edi
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
lea eax, [ebp - 0x464]
push eax
push 0
push 0x40b0cc
push dword [ebp - 0x480]
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
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 [0x4928c8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov edi, dword [ebp - 0x430]
cmp dword [edi + 0x50], 7
je 0x42bcab
lea edx, [ebp - 0x45c]
lea ecx, [ebp - 0x4d0]
call fcn.0042b090
mov ebx, eax
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x4d0], 0
je 0x42bc74
lea ecx, [ebp - 0x440]
call fcn.0042fae3
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov ax, word [ebp - 0x45c]
cmp ax, word [ebp - 0x440]
je 0x42bca5
mov eax, 0x800700d8
jmp 0x42b7e5
push 0x40b0a0
push dword [ebp - 0x468]
jmp 0x42bb18
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
lea ecx, [ebp - 0x4c0]
call fcn.0042fb94
mov ebx, eax
test ebx, ebx
js 0x42cee8
movzx eax, word [ebp - 0x520]
cmp eax, dword [ebp - 0x4c0]
jmp 0x42bc58
cmp dword [edi + 0x50], 7
jne 0x42bd18
lea eax, [ebp - 0x434]
mov ecx, 0x40b128
push eax
lea eax, [ebp - 0x4dc]
push eax
call fcn.004340c9
mov ebx, eax
test ebx, ebx
jns 0x42bccf
push ebx
call fcn.004321e3
push ebx
call fcn.00432150
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x434], 0
je 0x42c131
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42bcf8
cmp eax, 0xffffffff
jne 0x42bcfa
xor eax, eax
push 0x40b170
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
mov eax, 0x80070652
jmp 0x42b7e5
lea eax, [ebp - 0x434]
mov ecx, 0x40b1d0
push eax
lea eax, [ebp - 0x49c]
push eax
call fcn.004340c9
mov ebx, eax
test ebx, ebx
jns 0x42bd3c
push ebx
call fcn.004321e3
push ebx
call fcn.00432150
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x434], 0
je 0x42bd6a
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42bd61
cmp eax, 0xffffffff
jne 0x42bd63
xor eax, eax
push 0x40b218
jmp 0x42bcff
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.004364d8
mov edi, eax
mov dword [ebp - 0x440], edi
test edi, edi
jns 0x42bda4
push edi
call fcn.004321e3
mov ebx, dword [ebp - 0x43c]
jmp 0x42bdf7
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 0x42bdee
dec ecx
sub ecx, 1
je 0x42bdea
lea ecx, [ebp - 0x440]
push ecx
push eax
call fcn.004324b0
mov edi, dword [ebp - 0x440]
test eax, eax
jne 0x42bdf1
jmp 0x42bd96
xor ebx, ebx
jmp 0x42bdf1
xor ebx, ebx
inc ebx
mov dword [ebp - 0x43c], ebx
push edi
call fcn.00432150
cmp dword [ebp - 0x428], 0
je 0x42be12
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
js 0x42be77
test ebx, ebx
je 0x42be77
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42be28
cmp eax, 0xffffffff
jne 0x42be2a
xor eax, eax
push 0x40b268
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
mov edx, 0x406234
push 0x406dcc
call fcn.00431245
test eax, eax
jns 0x42be77
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42be60
cmp ecx, 0xffffffff
jne 0x42be62
xor ecx, ecx
push eax
push 0x40b2b8
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
lea eax, [ebp - 0x434]
mov ecx, 0x40af40
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.004340c9
mov ebx, eax
test ebx, ebx
jns 0x42be9b
push ebx
call fcn.004321e3
push ebx
call fcn.00432150
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x434], 0
mov ebx, dword [ebp - 0x444]
je 0x42bf45
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42beca
cmp eax, 0xffffffff
jne 0x42becc
xor eax, eax
push 0x40af90
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x48ecb8]
mov edi, eax
test ecx, ecx
je 0x42befa
cmp ecx, 0xffffffff
jne 0x42befc
xor ecx, ecx
push edi
push 0x40afd8
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
test edi, edi
je 0x42bf21
cmp edi, 0x80
jne 0x42b9c9
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42bf2f
cmp eax, 0xffffffff
jne 0x42bf31
xor eax, eax
push 0x40b02c
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
test ebx, ebx
je 0x42bf57
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 0x42bf69
cmp dword [edi + 0x50], 6
jne 0x42bf98
call fcn.0042a83a
test eax, eax
jns 0x42bf98
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42bf81
cmp ecx, 0xffffffff
jne 0x42bf83
xor ecx, ecx
push eax
push 0x40b318
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
lea eax, [ebp - 0x434]
mov ecx, 0x40b388
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.004340c9
mov ebx, eax
test ebx, ebx
jns 0x42bfbc
push ebx
call fcn.004321e3
push ebx
call fcn.00432150
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x434], 0
je 0x42bfed
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42bfe1
cmp eax, 0xffffffff
jne 0x42bfe3
xor eax, eax
push 0x40b3c8
jmp 0x42bcff
lea eax, [ebp - 0x434]
mov ecx, 0x4060b0
push eax
lea eax, [ebp - 0x4cc]
push eax
call fcn.004340c9
mov ebx, eax
test ebx, ebx
jns 0x42c011
push ebx
call fcn.004321e3
push ebx
call fcn.00432150
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x434], 0
je 0x42c04b
call fcn.0041abd0
test eax, eax
jns 0x42c04b
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c03f
cmp eax, 0xffffffff
jne 0x42c041
xor eax, eax
push 0x40b420
jmp 0x42bcff
lea eax, [ebp - 0x434]
mov ecx, 0x40b488
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.004340c9
mov ebx, eax
test ebx, ebx
jns 0x42c06f
push ebx
call fcn.004321e3
push ebx
call fcn.00432150
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x434], 0
mov ebx, dword [ebp - 0x484]
je 0x42c11f
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c09e
cmp eax, 0xffffffff
jne 0x42c0a0
xor eax, eax
push 0x40b4d8
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x48ecb8]
mov edi, eax
test ecx, ecx
je 0x42c0ce
cmp ecx, 0xffffffff
jne 0x42c0d0
xor ecx, ecx
push edi
push 0x40b520
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
test edi, edi
je 0x42c0f5
cmp edi, 0x80
jne 0x42b9c9
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c103
cmp eax, 0xffffffff
jne 0x42c105
xor eax, eax
push 0x40b574
push dword [0x491330]
push eax
call fcn.0041aecf
mov edi, dword [ebp - 0x430]
add esp, 0xc
test ebx, ebx
je 0x42c131
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.0042935a
test eax, eax
jns 0x42c169
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42c152
cmp ecx, 0xffffffff
jne 0x42c154
xor ecx, ecx
push eax
push 0x40b5b8
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
mov ecx, dword [ebp - 0x438]
lea edx, [ebp - 0x46c]
call fcn.004317d0
mov ebx, eax
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x46c], 0
je 0x42c20b
cmp dword [edi + 0x4c], 0
jne 0x42c1db
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 [0x4928c8]
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 0x42cee8
cmp dword [ebp - 0x460], 0
mov ecx, 0x407800
jne 0x42c1e0
mov ecx, 0x407808
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c1ee
cmp eax, 0xffffffff
jne 0x42c1f0
xor eax, eax
push ecx
push 0x40b5fc
push dword [0x491330]
push eax
call fcn.0041aecf
mov edi, dword [ebp - 0x430]
add esp, 0x10
mov eax, dword [ebp - 0x460]
test eax, eax
jne 0x42c45d
mov eax, dword [0x48ecb8]
or ebx, 0xffffffff
test eax, eax
je 0x42c229
cmp eax, ebx
jne 0x42c22b
xor eax, eax
push 0x40b638
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
call fcn.00429adc
test eax, eax
jns 0x42c26d
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42c256
cmp ecx, ebx
jne 0x42c258
xor ecx, ecx
push eax
push 0x40b680
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c27a
cmp eax, ebx
jne 0x42c27c
xor eax, eax
push 0x409c00
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
call fcn.0042ecae
test eax, eax
jns 0x42c2be
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42c2a7
cmp ecx, ebx
jne 0x42c2a9
xor ecx, ecx
push eax
push 0x40b6f0
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c2cb
cmp eax, ebx
jne 0x42c2cd
xor eax, eax
push 0x409c48
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
mov edx, 0x409958
push 0x409ca4
call fcn.00431245
test eax, eax
jns 0x42c319
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42c302
cmp ecx, ebx
jne 0x42c304
xor ecx, ecx
push eax
push 0x40b758
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c326
cmp eax, ebx
jne 0x42c328
xor eax, eax
push 0x409cc8
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
mov edx, 0x409958
push 0x409948
call fcn.00431245
test eax, eax
jns 0x42c374
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42c35d
cmp ecx, ebx
jne 0x42c35f
xor ecx, ecx
push eax
push 0x40b758
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c381
cmp eax, ebx
jne 0x42c383
xor eax, eax
push 0x409d10
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
mov edx, 0x409958
call fcn.00430dac
test eax, eax
jns 0x42c3ca
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42c3b3
cmp ecx, ebx
jne 0x42c3b5
xor ecx, ecx
push eax
push 0x40b7c8
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c3d7
cmp eax, ebx
jne 0x42c3d9
xor eax, eax
push 0x40b830
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0xc
lea eax, [ebp - 0x4b4]
push eax
push 0
push 0x40b860
push dword [ebp - 0x468]
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
lea eax, [ebp - 0x4b0]
push eax
push 0
push 0x409948
push dword [ebp - 0x4b4]
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
push dword [ebp - 0x4b0]
mov edx, dword [ebp - 0x21c]
push dword [ebp - 0x438]
mov ecx, dword [edi + 0x50]
call fcn.00429d44
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov eax, dword [ebp - 0x460]
cmp dword [edi + 0x4c], 0
je 0x42c47d
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c471
cmp eax, 0xffffffff
jne 0x42c473
xor eax, eax
push 0x40b878
jmp 0x42b89b
test eax, eax
jne 0x42c4d9
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c48f
cmp eax, 0xffffffff
jne 0x42c491
xor eax, eax
push dword [ebp - 0x438]
push 0x40b8c8
push dword [0x491330]
push eax
call fcn.0041aecf
mov ecx, dword [ebp - 0x438]
add esp, 0x10
call fcn.0043071e
mov ebx, eax
test ebx, ebx
js 0x42cee8
push 0x2002
push dword [ebp - 0x438]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x42ceda
mov ebx, dword [ebp - 0x448]
mov ecx, ebx
call fcn.00438e07
test eax, eax
jne 0x42c677
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c4fc
cmp eax, 0xffffffff
jne 0x42c4fe
xor eax, eax
push ebx
push 0x406aec
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x10
mov ecx, ebx
call fcn.00458d63
mov ebx, eax
test ebx, ebx
js 0x42cee8
cmp dword [edi + 0x50], 6
jne 0x42c677
mov edi, dword [ebp - 0x480]
lea eax, [ebp - 0x4a8]
push eax
push 0
push 0x40b90c
push edi
call fcn.004314b7
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov ecx, dword [ebp - 0x4a8]
lea eax, [ebp - 0x488]
push eax
call fcn.0041aa84
test eax, eax
jns 0x42c593
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42c577
cmp ecx, 0xffffffff
jne 0x42c579
xor ecx, ecx
push eax
push 0x40b920
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
jmp 0x42c677
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c5a1
cmp eax, 0xffffffff
jne 0x42c5a3
xor eax, eax
push edi
push 0x40b978
push dword [0x491330]
push eax
call fcn.0041aecf
mov ecx, dword [ebp - 0x488]
lea eax, [ebp - 0x46c]
and dword [ebp - 0x46c], 0
add esp, 0x10
push eax
push edi
call fcn.0042fc43
mov ecx, eax
mov eax, dword [0x48ecb8]
test ecx, ecx
js 0x42c656
cmp dword [ebp - 0x46c], 0
je 0x42c63d
test eax, eax
je 0x42c5ef
cmp eax, 0xffffffff
jne 0x42c5f1
xor eax, eax
mov ebx, dword [ebp - 0x448]
push ebx
push 0x40b9d0
push dword [0x491330]
push eax
call fcn.0041aecf
mov ecx, dword [ebp - 0x488]
add esp, 0x10
push ebx
call fcn.0042fce3
test eax, eax
jns 0x42c677
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42c62b
cmp ecx, 0xffffffff
jne 0x42c62d
xor ecx, ecx
push eax
push ebx
push 0x40ba28
push dword [0x491330]
push ecx
jmp 0x42c66f
test eax, eax
je 0x42c646
cmp eax, 0xffffffff
jne 0x42c648
xor eax, eax
push dword [ebp - 0x448]
push edi
push 0x40baa0
jmp 0x42c668
test eax, eax
je 0x42c65f
cmp eax, 0xffffffff
jne 0x42c661
xor eax, eax
push ecx
push edi
push 0x40bb38
push dword [0x491330]
push eax
call fcn.0041aecf
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 [0x4928c8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x42cee8
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 [0x4928c8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x42cee8
lea edx, [ebp - 0x4f0]
lea ecx, [ebp - 0x4fc]
call fcn.0042ad77
mov ebx, eax
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x460], 0
jne 0x42c745
mov ecx, dword [ebp - 0x464]
call fcn.00438e07
test eax, eax
je 0x42c745
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c70a
cmp eax, 0xffffffff
jne 0x42c70c
xor eax, eax
push dword [ebp - 0x490]
push dword [ebp - 0x464]
push 0x40bbb0
push dword [0x491330]
push eax
call fcn.0041aecf
mov edx, dword [ebp - 0x490]
add esp, 0x14
mov ecx, dword [ebp - 0x464]
call fcn.0043a89e
test eax, eax
je 0x42ceda
lea ecx, [ebp - 0x48c]
call fcn.0042e8df
push ecx
lea ecx, [ebp - 0x444]
call fcn.0041a5d3
push ecx
lea ecx, [ebp - 0x4d4]
call fcn.0041a5d3
push ecx
lea ecx, [ebp - 0x4cc]
call fcn.0041a5d3
mov ecx, dword [ebp - 0x430]
xor eax, eax
inc eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x1c], 0
jne 0x42c796
xor ecx, ecx
mov dword [ebp - 0x428], ecx
jmp 0x42c869
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c7a4
cmp eax, 0xffffffff
jne 0x42c7a6
xor eax, eax
push 0x40bc18
push dword [0x491330]
push eax
call fcn.0041aecf
xor eax, eax
add esp, 8
inc eax
mov edx, 0x406234
mov dword [ebp - 0x428], eax
lea eax, [ebp - 0x44c]
push eax
push 0x40bc58
call fcn.00434623
test eax, eax
js 0x42c834
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 0x42c7fe
mov edx, 0x406534
test ecx, ecx
mov ecx, 0x40bc78
jne 0x42c80c
mov ecx, 0x40bc90
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c81a
cmp eax, 0xffffffff
jne 0x42c81c
xor eax, eax
push edx
push ecx
push 0x40bca0
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x14
jmp 0x42c85d
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c842
cmp eax, 0xffffffff
jne 0x42c844
xor eax, eax
push 0x406528
push 0x40bd20
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x10
mov ecx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x458]
test eax, eax
je 0x42ceee
mov edi, dword [ebp - 0x494]
test eax, eax
jne 0x42c883
test ecx, ecx
je 0x42cb22
test ecx, ecx
je 0x42c9d1
mov eax, dword [ebp - 0x430]
lea edx, [ebp - 0x498]
mov ecx, dword [eax + 0x1c]
call fcn.004317d0
mov ebx, eax
test ebx, ebx
js 0x42cee8
cmp dword [ebp - 0x498], 0
je 0x42c99f
mov ecx, edi
call fcn.00438e07
test eax, eax
je 0x42c8f5
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c8cf
cmp eax, 0xffffffff
jne 0x42c8d1
xor eax, eax
push edi
push 0x40bdd0
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x10
mov ecx, edi
call fcn.0043a4ba
test eax, eax
je 0x42ceda
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c903
cmp eax, 0xffffffff
jne 0x42c905
xor eax, eax
push edi
push 0x40be28
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x10
mov ecx, edi
call fcn.0043157f
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c939
cmp eax, 0xffffffff
jne 0x42c93b
xor eax, eax
mov ebx, dword [ebp - 0x430]
push edi
push dword [ebx + 0x1c]
push 0x40be78
push dword [0x491330]
push eax
call fcn.0041aecf
mov ecx, dword [ebx + 0x1c]
add esp, 0x14
mov edx, edi
call fcn.0042a9c7
mov ebx, eax
test ebx, ebx
js 0x42cee8
call fcn.004312f8
mov ebx, eax
test ebx, ebx
js 0x42cee8
push 1
push 0x40bc58
call fcn.0043120a
mov ebx, eax
test ebx, ebx
js 0x42cee8
xor eax, eax
mov dword [ebp - 0x428], eax
jmp 0x42cad8
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c9ad
cmp eax, 0xffffffff
jne 0x42c9af
xor eax, eax
mov ecx, dword [ebp - 0x430]
push dword [ecx + 0x1c]
push 0x40bee4
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x10
jmp 0x42cad8
mov ecx, dword [ebp - 0x454]
call fcn.00438e07
test eax, eax
je 0x42cad8
mov ecx, edi
call fcn.00438e07
test eax, eax
je 0x42ca23
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42c9fd
cmp eax, 0xffffffff
jne 0x42c9ff
xor eax, eax
push edi
push 0x40bdd0
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x10
mov ecx, edi
call fcn.0043a4ba
test eax, eax
je 0x42ceda
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42ca31
cmp eax, 0xffffffff
jne 0x42ca33
xor eax, eax
push edi
push 0x40be28
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x10
mov ecx, edi
call fcn.0043157f
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42ca67
cmp eax, 0xffffffff
jne 0x42ca69
xor eax, eax
push edi
push dword [ebp - 0x454]
push 0x40be78
push dword [0x491330]
push eax
call fcn.0041aecf
mov ecx, dword [ebp - 0x454]
add esp, 0x14
mov edx, edi
call fcn.0042a9c7
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42caa9
cmp eax, 0xffffffff
jne 0x42caab
xor eax, eax
push dword [ebp - 0x454]
push 0x40bf10
push dword [0x491330]
push eax
call fcn.0041aecf
mov ecx, dword [ebp - 0x454]
add esp, 0x10
call fcn.0043a4ba
test eax, eax
je 0x42ceda
mov ecx, edi
call fcn.00438e07
test eax, eax
je 0x42cb22
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42caf1
cmp eax, 0xffffffff
jne 0x42caf3
xor eax, eax
mov ebx, dword [ebp - 0x448]
push ebx
push edi
push 0x40bf78
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x14
mov edx, ebx
mov ecx, edi
call fcn.0042abba
mov ebx, eax
test ebx, ebx
js 0x42cee8
and dword [ebp - 0x458], 0
push ecx
lea ecx, [ebp - 0x450]
call fcn.0041a718
mov edx, dword [ebp - 0x4c8]
lea eax, [ebp - 0x450]
mov ecx, dword [ebp - 0x430]
push eax
call fcn.0042a0c7
mov ebx, eax
test ebx, ebx
js 0x42cee8
push ecx
lea ecx, [ebp - 0x474]
call fcn.0041a718
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
lea eax, [ebp - 0x474]
push eax
mov ecx, edi
call dword [0x4928c8]
mov ecx, esi
call edi
mov ebx, eax
test ebx, ebx
js 0x42cee8
push dword [ebp - 0x474]
lea eax, [ebp - 0x450]
push dword [ebp - 0x450]
push 0x40bfc8
push eax
call fcn.0041a772
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x42cee8
call fcn.004312f8
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov edi, 0x406234
push 0x407c44
mov edx, edi
call fcn.00431245
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov edx, edi
call fcn.00430dac
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42cbf8
cmp eax, 0xffffffff
jne 0x42cbfa
xor eax, eax
mov ebx, dword [ebp - 0x430]
push dword [ebx + 0x20]
push dword [ebp - 0x450]
push dword [ebp - 0x478]
push 0x40bfd8
push dword [0x491330]
push eax
call fcn.0041aecf
mov eax, dword [ebx + 0x50]
add esp, 0x18
cmp eax, 4
je 0x42cc6e
cmp eax, 1
je 0x42cc6e
cmp eax, 8
je 0x42cc6e
cmp eax, 2
je 0x42cc6e
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x4bc]
push eax
push 0xea60
push 0x384
call fcn.00436b15
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov edi, dword [ebp - 0x4bc]
jmp 0x42cc7e
and dword [ebp - 0x44c], 0
or edi, 0xffffffff
mov dword [ebp - 0x4bc], edi
push 0x407b18
mov edx, 0x406234
call fcn.00431245
mov ebx, eax
test ebx, ebx
js 0x42cee8
mov edx, 0x406234
call fcn.00430dac
mov ebx, eax
test ebx, ebx
js 0x42cee8
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.00427024
mov ebx, eax
cmp ebx, 0x40010004
jne 0x42cd60
push ecx
lea eax, [ebp - 0x43c]
mov edx, 0x406234
push eax
push 0x407c44
call fcn.004339a5
test eax, eax
js 0x42cd30
cmp dword [ebp - 0x43c], 0
je 0x42cd30
mov eax, dword [0x48ecb8]
mov edx, dword [0x491330]
test eax, eax
je 0x42cd22
cmp eax, 0xffffffff
jne 0x42cd24
xor eax, eax
mov ebx, 0xc1900109
mov ecx, 0x40c058
jmp 0x42cd50
mov eax, dword [0x48ecb8]
mov edx, dword [0x491330]
test eax, eax
je 0x42cd44
cmp eax, 0xffffffff
jne 0x42cd46
xor eax, eax
mov ebx, 0xc1900106
mov ecx, 0x40c0e0
push ecx
push edx
push eax
call fcn.0041aecf
add esp, 0xc
jmp 0x42ce27
test ebx, ebx
js 0x42ce27
push ecx
lea eax, [ebp - 0x44c]
mov edi, 0x406234
push eax
push 0x407b18
mov edx, edi
call fcn.00434623
test eax, eax
jns 0x42ce27
push ecx
lea eax, [ebp - 0x43c]
mov edx, edi
push eax
push 0x407c44
call fcn.004339a5
test eax, eax
js 0x42cdd3
cmp dword [ebp - 0x43c], 0
je 0x42cdd3
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42cdb8
cmp eax, 0xffffffff
jne 0x42cdba
xor eax, eax
push ebx
push 0x40c168
push dword [0x491330]
push eax
call fcn.0041aecf
mov ebx, 0xc1900109
jmp 0x42ce24
mov eax, dword [0x48ecb8]
cmp ebx, 1
jne 0x42ce02
test eax, eax
je 0x42cde6
cmp eax, 0xffffffff
jne 0x42cde8
xor eax, eax
push 1
push 0x40c200
push dword [0x491330]
push eax
call fcn.0041aecf
mov ebx, 0xc1900106
jmp 0x42ce24
test eax, eax
je 0x42ce0b
cmp eax, 0xffffffff
jne 0x42ce0d
xor eax, eax
push ebx
push 0x40c2a0
push dword [0x491330]
push eax
call fcn.0041aecf
mov ebx, 0xc190011f
add esp, 0x10
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42ce35
cmp eax, 0xffffffff
jne 0x42ce37
xor eax, eax
push ebx
push 0x40c338
push dword [0x491330]
push eax
call fcn.0041aecf
mov edi, dword [ebp - 0x430]
add esp, 0x10
cmp dword [edi + 0x50], 7
jne 0x42ce8d
mov ecx, dword [ebp - 0x4ac]
call fcn.00427cdb
test eax, eax
jns 0x42ce8d
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42ce76
cmp ecx, 0xffffffff
jne 0x42ce78
xor ecx, ecx
push eax
push 0x40c388
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
mov edx, dword [edi + 0x54]
mov ecx, dword [ebp - 0x438]
call fcn.0042935a
test eax, eax
jns 0x42cec5
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42ceae
cmp ecx, 0xffffffff
jne 0x42ceb0
xor ecx, ecx
push eax
push 0x40b5b8
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x10
mov eax, dword [ebp - 0x458]
test eax, eax
je 0x42ceee
mov ecx, dword [ebp - 0x428]
jmp 0x42c871
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004324dd
mov ebx, eax
push ebx
call fcn.004321e3
mov eax, dword [ebp - 0x430]
cmp dword [eax + 0x50], 6
jne 0x42cf3b
cmp dword [ebp - 0x4c4], 0
jne 0x42cf77
mov edi, 0x80070005
cmp ebx, edi
jne 0x42cf77
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42cf1a
cmp eax, 0xffffffff
jne 0x42cf1c
xor eax, eax
mov ebx, 0xc19001e9
push ebx
push edi
push 0x40c3f4
push 0x40c408
push dword [0x491330]
push eax
call fcn.0041aecf
jmp 0x42cf74
mov eax, 0xc19001e9
cmp ebx, eax
jne 0x42cf77
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42cf53
cmp ecx, 0xffffffff
jne 0x42cf55
xor ecx, ecx
mov edi, 0x80070005
push edi
push eax
push 0x40c3f4
push 0x40c478
push dword [0x491330]
push ecx
call fcn.0041aecf
mov ebx, edi
add esp, 0x18
cmp dword [ebp - 0x470], 0
je 0x42d01a
call fcn.004312f8
mov ecx, eax
test ecx, ecx
js 0x42cff0
push ebx
push 0x40a6cc
call fcn.0043120a
mov ecx, eax
test ecx, ecx
js 0x42cfd3
mov edx, 0x406234
call fcn.00430dac
test eax, eax
jns 0x42d01a
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42cfbd
cmp ecx, 0xffffffff
jne 0x42cfbf
xor ecx, ecx
push eax
push 0x40c3f4
push 0x40c4e8
push dword [0x491330]
push ecx
jmp 0x42d012
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42cfe1
cmp eax, 0xffffffff
jne 0x42cfe3
xor eax, eax
push ecx
push 0x40c3f4
push 0x40c558
jmp 0x42d00b
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42cffe
cmp eax, 0xffffffff
jne 0x42d000
xor eax, eax
push ecx
push 0x40c3f4
push 0x40c5c0
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x14
test ebx, ebx
jns 0x42d093
test esi, esi
je 0x42d069
mov eax, dword [esi]
push ebx
push dword [ebp - 0x4c4]
mov edi, dword [eax + 0x10]
mov ecx, edi
call dword [0x4928c8]
mov ecx, esi
call edi
test eax, eax
jns 0x42d069
mov ecx, dword [0x48ecb8]
test ecx, ecx
je 0x42d04d
cmp ecx, 0xffffffff
jne 0x42d04f
xor ecx, ecx
push eax
push 0x40c3f4
push 0x40c648
push dword [0x491330]
push ecx
call fcn.0041aecf
add esp, 0x14
mov eax, dword [0x48ecb8]
test eax, eax
je 0x42d077
cmp eax, 0xffffffff
jne 0x42d079
xor eax, eax
push ebx
push 0x40c3f4
push 0x406200
push dword [0x491330]
push eax
call fcn.0041aecf
add esp, 0x14
cmp dword [ebp - 0x49c], 0
je 0x42d0ab
push 0x406dcc
mov edx, 0x406234
call fcn.00431245
push ebx
call fcn.00432150
lea ecx, [ebp - 0x4f0]
call fcn.004313ed
lea ecx, [ebp - 0x4fc]
call fcn.004313ed
lea ecx, [ebp - 0x474]
call fcn.0041a9e5
lea ecx, [ebp - 0x450]
call fcn.0041a9e5
lea ecx, [ebp - 0x478]
call fcn.0041a9e5
lea ecx, [ebp - 0x47c]
call fcn.0041a9e5
lea ecx, [ebp - 0x4c8]
call fcn.0041a9e5
lea ecx, [ebp - 0x480]
call fcn.0041a9e5
lea ecx, [ebp - 0x484]
call fcn.0041a755
lea ecx, [ebp - 0x444]
call fcn.0041a755
lea ecx, [ebp - 0x4cc]
call fcn.0041a755
lea ecx, [ebp - 0x4d4]
call fcn.0041a755
lea ecx, [ebp - 0x4dc]
call fcn.0041a755
lea ecx, [ebp - 0x49c]
call fcn.0041a755
lea ecx, [ebp - 0x4a0]
call fcn.0041a755
lea ecx, [ebp - 0x4a4]
call fcn.0042d22a
lea ecx, [ebp - 0x488]
call fcn.0042e8df
lea ecx, [ebp - 0x4e4]
call fcn.0042e8df
lea ecx, [ebp - 0x48c]
call fcn.0042e8df
lea ecx, [ebp - 0x4a8]
call fcn.0041a9e5
lea ecx, [ebp - 0x490]
call fcn.0041a9e5
lea ecx, [ebp - 0x464]
call fcn.0041a9e5
lea ecx, [ebp - 0x454]
call fcn.0041a9e5
lea ecx, [ebp - 0x494]
call fcn.0041a9e5
lea ecx, [ebp - 0x4ac]
call fcn.0041a9e5
lea ecx, [ebp - 0x448]
call fcn.0041a9e5
lea ecx, [ebp - 0x438]
call fcn.0041a9e5
lea ecx, [ebp - 0x4b0]
call fcn.0041a9e5
lea ecx, [ebp - 0x4b4]
call fcn.0041a9e5
lea ecx, [ebp - 0x468]
call fcn.0041a9e5
lea ecx, [ebp - 0x4b8]
call fcn.0041a9e5
lea ecx, [ebp - 0x4e0]
call fcn.0041a9e5
lea ecx, [ebp - 0x42c]
call fcn.0042e8b9
mov eax, ebx
call fcn.0047dc41
ret