Function at 0x48ceb0
Capabilities:
Acquire debug privileges
Check if file exists
Check mutex on windows
Check os version
Get common file path
Get disk information
Get file attributes
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4feec7
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1164
call fcn.004b7ac0
mov eax, dword [0x52e144]
xor eax, esp
mov dword [esp + 0x1160], eax
push ebx
push esi
push edi
mov eax, dword [0x52e144]
xor eax, esp
push eax
lea eax, [esp + 0x1178]
mov dword fs:[0], eax
xor ebx, ebx
push 0x103
lea eax, [esp + 0x1069]
push ebx
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x1f], bl
mov byte [esp + 0x1070], bl
call fcn.004b6dc0
add esp, 0xc
lea ecx, [esp + 0xd38]
push 1
mov edx, ecx
push edx
mov dword [0x53ce90], 0x85c07508
mov dword [esp + 0x108], 0xc
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], ebx
xor esi, esi
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
je 0x48cf7c
push ebx
push ebx
push 1
lea eax, [esp + 0xd44]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
je 0x48cf7c
lea esi, [esp + 0x100]
push 0x51f2f8
call fcn.00404690
mov edi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
add esp, 4
push eax
push ebx
push esi
call edi
mov dword [0x53ce98], eax
cmp eax, ebx
jne 0x48cfe9
push 0x51f2ec
call fcn.00404690
add esp, 4
push eax
push ebx
push esi
call edi
mov dword [0x53ce98], eax
cmp eax, ebx
jne 0x48cfe9
push 0x51f2c4
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x40000001
push 0x1caf79ee
push 0x2711
call fcn.0040a3f0
add esp, 0x18
jmp 0x48fa35
push eax
push 0x51f2b0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push 0x104
lea ecx, [esp + 0x1068]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea edx, [esp + 0x1064]
push edx
call fcn.00404330
add esp, 4
mov dword [0x53cfc8], eax
call fcn.0048ca90
cmp byte [0x53788d], 1
je 0x48f991
push 0x51f29c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push 0x104
push 0x53cd88
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x48d091
call ebx
push eax
push 0x51f27c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push 0x53cd88
push 0x51f26c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea ecx, [esp + 0x10c]
call fcn.00405cc0
push 1
push 0x53cd88
lea ecx, [esp + 0x114]
mov dword [esp + 0x1188], 0
call fcn.00406500
test al, al
jne 0x48d123
mov esi, dword [esp + 0x150]
call ebx
push eax
push esi
push 0x53cd88
push 0x51f250
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0020002
push 0x1caf79e9
push 0x2af9
call fcn.0040a3f0
add esp, 0x20
jmp 0x48fa1e
cmp dword [0x537c1c], 0
mov dword [0x52b484], 0x6a01e805
jne 0x48d168
push 0x51f23c
push 0x53cd88
call fcn.00489660
add esp, 8
test al, al
jne 0x48d168
push 0xc0020100
push 0x1caf79ea
push 0x2af9
call fcn.0040a3f0
add esp, 0xc
jmp 0x48fa1e
push 0x53cd88
call fcn.00488e40
mov esi, eax
add esp, 4
test esi, esi
je 0x48d1ba
cmp byte [0x54a134], 0
je 0x48d19f
push 0x51db60
call fcn.00404690
add esp, 4
mov edx, esi
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48d193
jmp 0x48d1ba
push 0x51f22c
call fcn.00404690
add esp, 4
mov edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48d1b0
push 0
push 0x53cd88
call fcn.004ba516
add esp, 8
or edi, 0xffffffff
push 0x53cd88
cmp eax, edi
jne 0x48d210
push 0x51f210
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0020000
push 0x1caf79eb
push 0x2af8
call fcn.0040a3f0
add esp, 0x18
mov dword [esp + 0x1180], edi
jmp 0x48fa29
push 0x51f1fc
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push 1
push 0x53cd88
lea ecx, [esp + 0x114]
call fcn.00406500
test al, al
jne 0x48d28d
mov esi, dword [esp + 0x150]
call ebx
push eax
push esi
push 0x53cd88
push 0x51f1e0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0020002
push 0x1caf79ec
push 0x2af9
call fcn.0040a3f0
add esp, 0x20
mov dword [esp + 0x1180], edi
jmp 0x48fa29
cmp dword [0x537c1c], 0
jne 0x48d2dc
cmp byte [0x54a134], 0
je 0x48d36c
push 0x51f1cc
push 0x53cd88
call fcn.00489660
add esp, 8
test al, al
jne 0x48d2dc
push 0xc0020100
push 0x1caf79ed
push 0x2af9
call fcn.0040a3f0
add esp, 0xc
mov dword [esp + 0x1180], edi
jmp 0x48fa29
cmp byte [0x54a134], 0
je 0x48d36c
xor eax, eax
jmp 0x48d2f0
mov cl, byte [eax + 0x53cd88]
mov byte [esp + eax + 0xf5c], cl
inc eax
test cl, cl
jne 0x48d2f0
mov al, byte [esp + 0xf5d]
cmp al, 0x3a
jne 0x48d333
cmp byte [esp + 0xf5e], 0x5c
jne 0x48d333
lea eax, [esp + 0xf5c]
push eax
mov byte [esp + 0xf63], cl
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 3
je 0x48d351
jmp 0x48d341
cmp byte [esp + 0xf5c], 0x5c
jne 0x48d351
cmp al, 0x5c
jne 0x48d351
call fcn.00489150
test eax, eax
je 0x48d351
mov byte [0x53ce8d], 1
push 0x53cd88
call fcn.00488f90
add esp, 4
cmp byte [0x54a134], 0
je 0x48d36c
call fcn.0048aa80
lea ecx, [esp + 0x174]
call fcn.00409050
mov ecx, dword [0x539714]
push 0x53cc80
push ecx
lea ecx, [esp + 0x17c]
mov byte [esp + 0x1188], 1
call fcn.00408840
test eax, eax
je 0x48d3c6
push 0x53cc80
push 0x51f1b8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x53cc80
call fcn.00404330
add esp, 0x10
mov eax, dword [0x53cfc0]
test eax, eax
je 0x48d3eb
push eax
push 0x51f1a0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
call fcn.004892e0
call fcn.0048bcf0
cmp byte [0x54a134], 0
je 0x48d54f
push 0x51f188
call fcn.00404690
mov edx, dword [0x53ce9c]
add esp, 4
push eax
push edx
call fcn.0040fed0
mov esi, eax
test esi, esi
je 0x48d54f
lea eax, [esp + 0x1f]
push eax
push 0
push 0
push 0x14
call esi
test eax, eax
jl 0x48d4d3
push 0x51f174
mov byte [0x53cee0], 1
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea ecx, [esp + 0x1f]
push ecx
push 0
push 1
push 0x14
call esi
lea edx, [esp + 0x1f]
push edx
push 0
push 1
push 0xa
call esi
cmp dword [0x537c38], 0x1f53
je 0x48d54f
cmp dword [0x537f30], 0
jne 0x48d54f
call fcn.0048bfd0
mov bl, al
cmp bl, 1
je 0x48d54f
lea ecx, [esp + 0x174]
mov byte [esp + 0x1180], 0
call fcn.004085c0
lea ecx, [esp + 0x10c]
mov dword [esp + 0x1180], 0xffffffff
call fcn.00405d20
mov al, bl
jmp 0x48fa37
push str.SeDebugPrivilege
call fcn.00410e60
add esp, 4
test al, al
je 0x48d4f9
push str.SeLoadDriverPrivilege
call fcn.00410e60
add esp, 4
test al, al
jne 0x48d474
push 0x51f148
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp dword [0x537c14], 0
je 0x48d474
push 0x51f138
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0000001
push 0x1caf79ef
push 0x36b2
call fcn.0040a3f0
add esp, 0x18
jmp 0x48fa0a
call fcn.00491fa0
test al, al
je 0x48d571
push 0
push 0x1caf79f9
push 0x4a39
call fcn.0040a3f0
add esp, 0xc
jmp 0x48fa0a
cmp byte [0x53ce8e], 0
je 0x48d5bd
cmp byte [0x53cee0], 0
jne 0x48d5bd
cmp dword [0x53cfb0], 1
je 0x48d5bd
push 0x51f120
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0000200
push 0x1caf79fa
push 0x32c8
call fcn.0040a3f0
add esp, 0x18
jmp 0x48fa0a
mov eax, dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
push eax
push str.VirtualProtectEx
call fcn.00489060
mov ecx, dword [sym.imp.KERNEL32.dll_DebugActiveProcess]
push ecx
push str.DebugActiveProcess
call fcn.00489060
mov eax, dword [0x539710]
add esp, 0x10
cmp eax, 8
jne 0x48d602
mov eax, 0x10900000
mov ecx, 0x10a00000
mov dword [0x52b48c], eax
mov dword [0x52b488], ecx
jmp 0x48d638
cmp eax, 7
jne 0x48d61e
mov eax, 0x400000
mov ecx, 0x700000
mov dword [0x52b48c], eax
mov dword [0x52b488], ecx
jmp 0x48d638
mov edx, dword [0x539714]
push edx
call fcn.00488e60
mov eax, dword [0x52b48c]
mov ecx, dword [0x52b488]
add esp, 4
push ecx
push eax
push 0x51f0e4
mov dword [0x549064], ecx
mov dword [0x549068], eax
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
lea ecx, [esp + 0x5c]
call fcn.00422d30
lea ecx, [esp + 0xac]
mov byte [esp + 0x1180], 2
call fcn.00422d30
xor esi, esi
push 0x103
lea eax, [esp + 0xd51]
push esi
push eax
mov byte [esp + 0x118c], 3
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], esi
mov byte [esp + 0xd58], 0
call fcn.004b6dc0
add esp, 0xc
lea ecx, [esp + 0x174]
call fcn.00408b10
push esi
lea ecx, [esp + 0x178]
call fcn.00409480
cmp eax, esi
je 0x48eaa7
mov edi, edi
mov eax, dword [esp + 0x280]
mov edi, eax
mov dword [esp + 0x28], edi
test eax, eax
je 0x48e9dc
push eax
call fcn.0043d1a0
mov ebx, eax
add esp, 4
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x48d756
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push edi
push 0x51f0c4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
cmp byte [0x53ce8e], bl
je 0x48e9dc
cmp esi, 0x546
jne 0x48e9dc
push 0xc0000201
push 0x1caf79fb
push 0x32c8
call fcn.0040a3f0
add esp, 0xc
mov byte [esp + 0x13], 1
jmp 0x48e9dc
push 0x51c5fc
call fcn.00404690
push 3
push eax
lea ecx, [esp + 0x188]
push ecx
call fcn.004b9e25
add esp, 0x10
test eax, eax
jne 0x48d7c7
lea edx, [esp + 0x17c]
push edx
push ebx
lea ecx, [esp + 0x17c]
call fcn.00408d20
test eax, eax
jne 0x48d7c7
push eax
lea eax, [esp + 0x180]
push eax
push edi
push ebx
call fcn.0043fd60
add esp, 0x10
lea ecx, [esp + 0x17c]
push ecx
push edi
push 0x51f0b0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
cmp dword [0x537f30], 0
je 0x48d833
lea edx, [esp + 0xd18]
push edx
push ebx
mov dword [esp + 0xd20], 0
call dword [0x5385f8]
cmp dword [esp + 0xd18], 0
jne 0x48d833
lea eax, [esp + 0x17c]
push eax
push edi
push 0x51f09c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x16c]
push edx
lea ecx, [esp + 0x64]
call fcn.004203a0
jmp 0x48e9d5
cmp byte [esp + 0x17c], 0
je 0x48d85e
lea eax, [esp + 0x17c]
push eax
call fcn.00488e40
add esp, 4
lea edx, [esp + 0xd4c]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48d854
lea ecx, [esp + 0xd4c]
push ecx
call fcn.00404330
add esp, 4
mov esi, eax
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x160]
push eax
lea ecx, [esp + 0x64]
mov dword [esp + 0xd20], esi
call fcn.004203a0
push 0x50
call fcn.0040a8e0
add esp, 4
test eax, eax
jne 0x48d8a4
cmp dword [0x537d3c], 1
jne 0x48d8ef
push edi
call fcn.0040a8b0
add esp, 4
test eax, eax
je 0x48d8ef
cmp esi, 0x8d2993e3
je 0x48d8ef
cmp esi, 0xf83c445c
je 0x48d8ef
cmp esi, 0xff6df45d
je 0x48d8ef
push 0x51f08c
call fcn.00404690
add esp, 4
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventA]
test eax, eax
je 0x48d930
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [0x54a134], 0
je 0x48dba3
cmp edi, dword [0x53789c]
jne 0x48d990
lea ecx, [esp + 0xd4c]
push ecx
push 0x51f06c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
jmp 0x48e9dc
push edi
push 0x51f058
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push edi
call fcn.00491be0
add esp, 0x10
test al, al
jne 0x48d8ef
push edi
push 0x51f044
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x80000100
push 0x1b800000
push 0x3a99
call fcn.0040a3f0
add esp, 0x18
mov byte [esp + 0x13], 1
jmp 0x48e9dc
mov ecx, dword [0x539714]
mov eax, dword [0x539710]
cmp edi, ecx
jne 0x48d9bb
cmp eax, 8
je 0x48d9a9
cmp eax, 0x2b
jne 0x48d9bb
lea edx, [esp + 0xd4c]
push edx
push 0x51f028
jmp 0x48d915
cmp dword [0x537f30], 0
je 0x48d9f0
cmp eax, 0x26
je 0x48d9f0
cmp edi, ecx
je 0x48d9d5
cmp edi, dword [0x53cedc]
jne 0x48d9f0
cmp dword [0x537cf8], 0
jne 0x48d9f0
lea eax, [esp + 0xd4c]
push eax
push 0x51f028
jmp 0x48d915
cmp edi, dword [0x53cfbc]
je 0x48db91
cmp edi, dword [0x53cfc4]
je 0x48db91
cmp esi, 0xe065114d
je 0x48db91
cmp esi, 0x34785ad6
je 0x48db7f
cmp esi, 0xc6d3ee9
je 0x48db7f
cmp esi, 0xf2b1a882
je 0x48db7f
cmp esi, 0x318be374
je 0x48db7f
cmp esi, 0x298ffa85
je 0x48db7f
cmp esi, 0x86b249f7
je 0x48db6d
cmp esi, 0x6c749a7
je 0x48db6d
cmp esi, 0x794580a
je 0x48db6d
cmp esi, 0x7d1c311
je 0x48db3e
cmp esi, 0x7fc51aa3
je 0x48db3e
cmp esi, 0x51c134f8
je 0x48db3e
cmp esi, 0xebcc407a
jne 0x48dac8
lea ecx, [esp + 0xd4c]
push ecx
push 0x51f00c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
jmp 0x48dbc9
cmp esi, 0xd539f244
jne 0x48dae2
lea edx, [esp + 0xd4c]
push edx
push 0x51eff0
jmp 0x48d915
cmp esi, 0xfdc8d014
je 0x48db06
cmp esi, 0x34dc3855
je 0x48db06
cmp esi, 0xdb584c7c
je 0x48db06
cmp esi, 0x80001d4f
jne 0x48dbc9
cmp byte [esp + 0x17c], 0
je 0x48dbc9
lea eax, [esp + 0x17c]
push eax
call fcn.004117b0
add esp, 4
test eax, eax
je 0x48dbc9
lea ecx, [esp + 0xd4c]
push ecx
push 0x51efd4
jmp 0x48d915
mov eax, dword [esp + 0x44]
inc eax
push eax
lea edx, [esp + 0xd50]
push edx
push 0x51efb0
mov dword [esp + 0x50], eax
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
jmp 0x48dbc9
lea eax, [esp + 0xd4c]
push eax
push 0x51ef94
jmp 0x48d915
lea ecx, [esp + 0xd4c]
push ecx
push 0x51ef78
jmp 0x48d915
lea edx, [esp + 0xd4c]
push edx
push 0x51ef60
jmp 0x48d915
cmp edi, dword [0x53789c]
jne 0x48e9dc
cmp dword [0x53ce94], 0
jne 0x48e9dc
mov esi, dword [esp + 0xd18]
mov dword [0x53ce94], edi
lea eax, [esp + 0x17c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x48ddce
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x15
je 0x48dc10
cmp eax, 3
jne 0x48ddce
cmp byte [esp + 0x17c], 0x5c
je 0x48ddce
cmp byte [esp + 0x17d], 0x3a
jne 0x48ddce
mov edx, dword [0x538370]
lea ecx, [esp + 0x17c]
push ecx
push edx
push eax
push 0x51ef34
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x103
lea eax, [esp + 0xe6d]
push 0
push eax
mov dword [esp + 0x5c], 0
mov byte [esp + 0xe74], 0
call fcn.004b6dc0
push 0x103
lea ecx, [esp + 0xf81]
push 0
push ecx
mov byte [esp + 0xf88], 0
call fcn.004b6dc0
add esp, 0x2c
lea edx, [esp + 0x3c]
push edx
push 0
push ebx
call 0x52ced9
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0xe54]
push eax
push ecx
lea ecx, [esp + 0x17c]
call fcn.00408840
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0xe54]
push edx
push eax
lea ecx, [esp + 0x17c]
call fcn.00408840
cmp eax, 1
jne 0x48dce2
lea ecx, [esp + 0xe54]
push ecx
call fcn.00488e40
add esp, 4
lea edx, [esp + 0xf5c]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48dcd6
jmp 0x48dd40
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043d1a0
mov esi, eax
add esp, 4
test esi, esi
je 0x48dd39
mov ecx, dword [esp + 0x3c]
push 0
lea eax, [esp + 0xe58]
push eax
push ecx
push esi
call fcn.0043fd60
add esp, 0x10
test eax, eax
jne 0x48dd32
lea edx, [esp + 0xe54]
push edx
call fcn.00488e40
add esp, 4
lea edx, [esp + 0xf5c]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48dd28
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0xd18]
cmp byte [esp + 0xf5c], 0
je 0x48ddce
lea eax, [esp + 0xf5c]
push eax
call fcn.00404330
mov edx, dword [esp + 0x40]
add esp, 4
lea ecx, [esp + 0xe54]
push ecx
push edx
push edi
push 0x51ef0c
mov esi, eax
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
cmp esi, 0xb3d606db
jne 0x48ddc7
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x17c]
push eax
push ecx
push edi
lea edx, [esp + 0xf68]
push edx
push 0x51eed8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x18
jmp 0x48e9dc
mov esi, dword [esp + 0xd18]
cmp dword [0x54a138], 0x4e70
jb 0x48df9b
cmp esi, 0xd175c02e
jne 0x48e014
lea eax, [esp + 0x17c]
push eax
call fcn.0048ad80
add esp, 4
cmp eax, 9
jl 0x48dfa3
lea ecx, [esp + 0x17c]
push ecx
call fcn.004117b0
add esp, 4
test eax, eax
je 0x48dfa3
push 0x103
lea edx, [esp + 0xf61]
push 0
push edx
mov dword [esp + 0x3c], 0
mov byte [esp + 0xf68], 0
call fcn.004b6dc0
push 0x103
lea eax, [esp + 0xe65]
push 0
push eax
mov byte [esp + 0xe6c], 0
call fcn.004b6dc0
add esp, 0x18
lea ecx, [esp + 0x30]
push ecx
push 0
push ebx
call 0x52ced9
mov eax, dword [esp + 0x30]
lea edx, [esp + 0xf5c]
push edx
push eax
lea ecx, [esp + 0x17c]
call fcn.00408840
cmp eax, 1
jne 0x48deac
lea ecx, [esp + 0xf5c]
push ecx
call fcn.00488e40
add esp, 4
lea edx, [esp + 0xe54]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48dea0
jmp 0x48df03
mov edx, dword [esp + 0x30]
push edx
call fcn.0043d1a0
mov esi, eax
add esp, 4
test esi, esi
je 0x48df03
mov ecx, dword [esp + 0x30]
push 0
lea eax, [esp + 0xf60]
push eax
push ecx
push esi
call fcn.0043fd60
add esp, 0x10
test eax, eax
jne 0x48defc
lea edx, [esp + 0xf5c]
push edx
call fcn.00488e40
add esp, 4
lea edx, [esp + 0xe54]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48def2
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [esp + 0xe54], 0
je 0x48df50
lea eax, [esp + 0xe54]
push eax
call fcn.00404330
mov edx, dword [esp + 0x34]
add esp, 4
lea ecx, [esp + 0xf5c]
push ecx
push edx
push edi
push 0x51ef0c
mov esi, eax
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
cmp esi, 0xd175c02e
je 0x48df65
mov eax, dword [esp + 0x30]
cmp eax, dword [0x53789c]
je 0x48df65
cmp dword [0x537f30], 0
je 0x48dfa3
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x17c]
push ecx
push edx
push edi
lea eax, [esp + 0xd58]
push eax
push 0x51eeb0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x18
jmp 0x48e9d5
cmp esi, 0xd175c02e
jne 0x48e014
lea ecx, [esp + 0x744]
call fcn.00409050
push 0
push edi
lea ecx, [esp + 0x74c]
mov byte [esp + 0x1188], 4
call fcn.00409690
test eax, eax
je 0x48e000
lea ebx, [ebx]
push 0x51ee9c
call fcn.00404690
push eax
lea ecx, [esp + 0x868]
push ecx
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x48e061
push edi
lea ecx, [esp + 0x748]
call fcn.00409840
test eax, eax
jne 0x48dfd0
lea ecx, [esp + 0x744]
mov byte [esp + 0x1180], 3
call fcn.004085c0
push 0
push 0
push ebx
call 0x52ced9
mov dword [esp + 0x30], eax
test al, 8
je 0x48e0a6
mov al, byte [esp + 0xd4c]
cmp al, 0x73
je 0x48e039
cmp al, 0x53
jne 0x48e0a6
lea ecx, [esp + 0xd4c]
push ecx
push 0x51ee78
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
jmp 0x48e9d5
lea edx, [esp + 0x17c]
push edx
push edi
lea eax, [esp + 0xd54]
push eax
push 0x51ee50
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
lea ecx, [esp + 0x744]
mov byte [esp + 0x1180], 3
call fcn.004085c0
jmp 0x48e9dc
cmp byte [0x54a134], 0
je 0x48e0c3
cmp dword [0x537f30], 0
jne 0x48e0c3
push 0
push ebx
call fcn.0048a120
add esp, 8
mov edx, dword [0x53ce98]
push 0x4e20
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x30]
and eax, 1
mov dword [esp + 0xd30], eax
jmp 0x48e0f4
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
lea eax, [esp + 0xd4c]
push eax
push esi
push 0x51ee2c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [0x537890]
mov edx, dword [0x539714]
inc dword [esp + 0x48]
lea ecx, [eax + eax*2]
mov eax, dword [0x539724]
mov dword [esp + 0xdc], ecx
mov ecx, dword [0x53789c]
mov dword [esp + 0xe0], edx
mov edx, dword [0x5378cc]
mov dword [esp + 0xe4], eax
mov eax, dword [0x52b488]
mov dword [esp + 0xe8], ecx
mov ecx, dword [0x52b48c]
mov dword [esp + 0xec], edx
mov edx, dword [0x53cedc]
mov dword [esp + 0xf0], eax
mov eax, dword [0x539728]
mov dword [esp + 0xf4], ecx
mov ecx, dword [0x5378c4]
mov dword [esp + 0xf8], edx
mov edx, dword [0x5378a0]
add esp, 0x10
cmp dword [0x537d78], 0
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edx
je 0x48e1d9
lea eax, [esp + 0x17c]
push eax
lea ecx, [esp + 0xf4]
push ecx
lea edx, [esp + 0xe4]
push edx
mov ecx, 0x53ac78
call fcn.00432cc0
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [esp + 0xd30], 0
jne 0x48e29e
test byte [esp + 0x30], 0x10
jne 0x48e29e
cmp dword [0x54a138], 0x4e8e
jb 0x48e273
push ebx
call fcn.0048ae00
add esp, 4
test eax, eax
je 0x48e245
lea eax, [esp + 0xcc]
push eax
push 0xb
push 3
push 0x1000001
push 0x64
push ebx
push 0x53cd88
push 0
call 0x52d0b8
mov edi, eax
push ebx
mov dword [esp + 0x24], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x48e303
lea ecx, [esp + 0xcc]
push ecx
push 0xb
push 3
push 0x1000001
push 0x7d0
push ebx
push 0x53cd88
push 0
call 0x52d0b8
mov edi, eax
mov dword [esp + 0x20], edi
jmp 0x48e303
lea edx, [esp + 0xcc]
push edx
push 0xb
push 3
push 0x1000001
push 0x7d0
push ebx
push 0x53cd88
push 0
call 0x52d0b8
mov edi, eax
mov dword [esp + 0x20], edi
jmp 0x48e303
cmp dword [esp + 0xd18], 0xebcc407a
je 0x48e62d
lea eax, [esp + 0xcc]
push eax
push 0xb
push 3
push 0x1000001
push 0xc8
push ebx
push 0x53cd88
push 0
call 0x52d0b8
mov edi, eax
mov dword [esp + 0x20], edi
cmp edi, 0xe1c2f3b0
je 0x48e64a
cmp byte [0x537dfe], 0
jne 0x48e303
push esi
call fcn.0040a880
add esp, 4
test eax, eax
jne 0x48e303
push esi
call fcn.00491be0
add esp, 4
cmp edi, 0xe1c2f3b0
je 0x48e64a
cmp edi, 0x324
je 0x48e6f2
cmp edi, 0x321
je 0x48e76b
cmp edi, 0x322
je 0x48e776
lea ecx, [edi + 0x1e3d0c50]
cmp ecx, 8
ja 0x48ea25
mov edx, dword [edi*4 + 0x7946e53c]
push edx
push edi
push 0x51ee0c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [esp + 0x40]
add esp, 0x10
push 2
push 4
push eax
push 0x51edf0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push 0x51e2b4
mov dword [esp + 0x34], esi
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp edi, 0xe1c2f3b7
jne 0x48e46e
cmp byte [0x52b492], 0
je 0x48e61e
lea ecx, [esp + 0xa8]
push ecx
push 1
push 0x51ede0
mov byte [0x52b492], 0
mov dword [esp + 0xb4], 0x458a0000
call fcn.00404690
add esp, 4
push eax
push 0
push 0x3e8
push ebx
push 0x51965c
call fcn.004045b0
add esp, 4
push eax
push 0
call 0x52d0b8
mov esi, eax
push esi
push 0x51edd4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
test esi, esi
jne 0x48e0f4
push 0x40000c01
push 0x1caf79fd
push 0x32ca
call fcn.0040a3f0
push 0x51edc4
mov byte [esp + 0x23], 1
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0x18
jmp 0x48e7a3
cmp edi, 0xe1c2f3b6
jne 0x48e480
cmp esi, 8
je 0x48e48c
jmp 0x48e5e4
cmp edi, 0xe1c2f3b3
jne 0x48e5d8
cmp byte [0x54a134], 0
je 0x48e5d8
xor ebx, ebx
cmp byte [0x52b491], bl
je 0x48e5d8
push 0x51ed9c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [esp + 0x20]
add esp, 0xc
push 0x1c
lea edx, [esp + 0x80]
push edx
push 0x458a0000
push eax
mov byte [0x52b491], bl
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
cmp eax, 0x1c
jne 0x48e5d8
mov esi, dword [esp + 0x80]
push esi
push 0x51ed84
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp esi, 0x10000000
jbe 0x48e5d8
jmp 0x48e520
cmp dword [esp + 0x8c], 0x10000
je 0x48e582
mov ecx, dword [esp + 0x14]
push 0x8000
push 0
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
test eax, eax
jne 0x48e565
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51ed70
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
jmp 0x48e57f
push 0x51ed5c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
mov ebx, 1
add esp, 0xc
add esi, dword [esp + 0x88]
push esi
push 0x51ed4c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp esi, 0x458f0000
jae 0x48e5ce
mov eax, dword [esp + 0x14]
push 0x1c
lea edx, [esp + 0x80]
push edx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
cmp eax, 0x1c
je 0x48e520
jmp 0x48e5cf
inc ebx
cmp ebx, 2
je 0x48e0f0
cmp edi, 0xe1c2f3b6
jne 0x48e797
cmp byte [0x53ce8d], 0
jne 0x48e7a3
cmp dword [esp + 0x38], 1
jne 0x48e7a3
call fcn.00489150
test eax, eax
je 0x48e60c
mov byte [0x53ce8d], 1
push 0x53cd88
call fcn.00488f90
add esp, 4
jmp 0x48e0f0
push 0x40000c01
push 0x1caf79fe
jmp 0x48e442
push 0x51ed38
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
jmp 0x48e9dc
inc dword [esp + 0x24]
push 0x51ed24
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push 0
push 5
lea ecx, [esp + 0xd30]
push ecx
push 0x458a0000
push ebx
mov byte [esp + 0xd34], 0x4d
mov byte [esp + 0xd35], 0x5a
mov byte [esp + 0xd36], 0x90
mov byte [esp + 0xd37], 0
mov byte [esp + 0xd38], 3
mov byte [esp + 0xd3c], 0
mov dword [esp + 0xd3d], 0
call dword [0x5385e0]
cmp byte [0x54a134], 0
je 0x48e9c8
push 5
lea edx, [esp + 0xd2c]
push edx
lea eax, [esp + 0xd28]
push eax
call fcn.004b9e25
add esp, 0xc
test eax, eax
je 0x48e9c8
push 0x51e29c
jmp 0x48e77f
xor eax, eax
cmp byte [0x53cee5], al
je 0x48e72d
cmp dword [0x53cff0], eax
je 0x48e72d
mov ecx, dword [0x53cfec]
mov edx, dword [ecx]
mov eax, dword [0x53cfd4]
lea ecx, [esp + 0xf8]
mov dword [esp + 0xfc], edx
mov dword [esp + 0xf8], eax
call fcn.00496970
mov eax, dword [eax]
cmp esi, eax
je 0x48e9c8
push 0x40020000
push 0x1caf79fc
push 0x2afb
call fcn.0040a3f0
push 0x51ed0c
mov byte [esp + 0x23], 1
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0x18
jmp 0x48e9c8
inc dword [esp + 0x18]
push 0x51ecf8
jmp 0x48e77f
inc dword [esp + 0x24]
push 0x51ece4
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
jmp 0x48e9c8
cmp edi, 0xe1c2f3b4
je 0x48e9c0
cmp byte [0x53cee0], 0
jne 0x48e7b8
cmp edi, 0xe1c2f3b2
je 0x48e9c4
inc dword [esp + 0x18]
cmp edi, 0xe1c2f3b3
jne 0x48e88b
cmp dword [esp + 0x30], 4
jne 0x48e858
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x48e858
cmp dword [0x537cec], 2
jne 0x48e858
mov al, byte [0x53cee3]
mov edx, dword [esp + 0xd18]
xor cl, cl
test al, al
je 0x48e801
cmp edx, 0xdad9087f
je 0x48e809
cmp edx, 0x1f7c253
jne 0x48e80b
mov cl, 1
test al, al
je 0x48e817
cmp edx, 0xfad6b45e
je 0x48e858
cmp edx, 0x59ccca06
je 0x48e858
cmp edx, 0x16702482
je 0x48e858
cmp edx, 0x1b74c3ea
je 0x48e858
test cl, cl
jne 0x48e858
mov ecx, dword [esp + 0x28]
push ecx
push 0x51ecd4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov byte [esp + 0x13], 1
cmp byte [esp + 0x17c], 0
jne 0x48e88b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e6
jne 0x48e88b
push 0x40000401
push 0x1caf79ff
push 0x32ca
call fcn.0040a3f0
add esp, 0xc
mov byte [esp + 0x13], 1
cmp byte [0x53ce8e], 0
je 0x48e8d9
cmp edi, 0xe1c2f3b3
jne 0x48e8d9
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x48e8dd
cmp byte [0x53cee1], 0
je 0x48e8b2
cmp esi, 6
je 0x48e8dd
cmp byte [0x53b38d], 0
je 0x48e8dd
push 0xc0000200
push 0x1caf7a00
push 0x32c8
call fcn.0040a3f0
add esp, 0xc
mov byte [esp + 0x13], 1
jmp 0x48e8dd
mov esi, dword [esp + 0x2c]
cmp byte [0x537dcb], 0
je 0x48e90f
cmp edi, 0xe1c2f3b6
je 0x48e8f6
cmp edi, 0xe1c2f3b2
jne 0x48e90f
push 0
push 0x1caf7a01
push 0x32c8
call fcn.0040a3f0
add esp, 0xc
mov byte [esp + 0x13], 1
cmp edi, 0xe1c2f3b6
jne 0x48e9c4
mov ebx, dword [esp + 0x14]
test esi, esi
jne 0x48e9c8
lea edx, [esp + 0x48]
push edx
push esi
push ebx
mov dword [esp + 0x54], esi
call 0x52ced9
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x64]
call fcn.0041f7e0
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
call fcn.004164a0
test al, al
je 0x48e9c8
mov edx, dword [esp + 0x48]
push edx
call fcn.0040a880
add esp, 4
test eax, eax
jne 0x48e9c8
mov eax, dword [esp + 0x48]
push eax
push 0x51ecbc
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp byte [0x53ce8f], 0
je 0x48e9c8
push esi
push 0x1caf7a02
push 0x32c8
call fcn.0040a3f0
add esp, 0xc
mov byte [esp + 0x13], 1
jmp 0x48e9c8
inc dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
mov edx, dword [0x53ce98]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x174]
call fcn.004095f0
test eax, eax
jne 0x48d6d0
mov al, byte [esp + 0x13]
test al, al
je 0x48eaa7
mov ecx, dword [esp + 0x24]
movzx edx, al
push ecx
push edx
push 0x51ec8c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
jmp 0x48f9e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push 0x51ec70
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x59
call fcn.0040a8e0
add esp, 0x14
test eax, eax
je 0x48e9c8
cmp edi, 1
jne 0x48e9c8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x48e9c8
mov ecx, dword [0x527d88]
push eax
push eax
push ecx
push 0x50d930
call fcn.00404690
add esp, 4
push eax
push 0x50d147
push 0x51ec54
push 0
push 0x1337a21
push 2
push 0
call fcn.0043c0b0
add esp, 0x28
jmp 0x48e9c8
cmp byte [0x54a134], 0
je 0x48f7a1
push 0x51ec34
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x6c]
push ecx
call fcn.00499410
add esp, 0x14
lea ecx, [esp + 0x174]
call fcn.00408b10
test eax, eax
je 0x48eb77
mov eax, dword [esp + 0x3c4]
xor edi, edi
cmp dword [eax], edi
jbe 0x48eb77
xor esi, esi
mov eax, dword [esi + eax + 4]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x48eb68
cmp dword [0x53cff4], eax
je 0x48eb68
lea edx, [esp + 0x2c]
mov dword [0x53cff4], eax
push edx
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x64]
call fcn.0041f7e0
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x4c]
mov dword [esp + 0x50], ecx
push eax
lea ecx, [esp + 0x58]
mov dword [esp + 0x50], edx
call fcn.004164d0
test al, al
jne 0x48eb68
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x160]
push edx
lea ecx, [esp + 0xb4]
call fcn.004203a0
mov eax, dword [esp + 0x3c4]
inc edi
add esi, 0x10
cmp edi, dword [eax]
jb 0x48eb01
mov eax, dword [esp + 0xc4]
mov ebx, dword [eax]
mov edi, dword [esp + 0xac]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
nop
mov esi, dword [esp + 0xc4]
test edi, edi
je 0x48eba4
cmp edi, dword [esp + 0xac]
je 0x48eba9
call fcn.004b7c48
cmp ebx, esi
je 0x48f73d
test edi, edi
jne 0x48ec19
call fcn.004b7c48
xor eax, eax
cmp ebx, dword [eax + 0x18]
jne 0x48ebc6
call fcn.004b7c48
mov ebx, dword [ebx + 0xc]
push ebx
mov dword [esp + 0x3c], ebx
call fcn.0043d1a0
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
test edi, edi
jne 0x48ec1d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push 0x51f0c4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
lea ecx, [esp + 0x30]
call fcn.00416500
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
jmp 0x48eb90
mov eax, dword [edi]
jmp 0x48ebbc
lea ecx, [esp + 0xe54]
push ecx
push ebx
lea ecx, [esp + 0x17c]
mov byte [esp + 0xe5c], 0
mov byte [esp + 0xd54], 0
xor esi, esi
call fcn.00408840
cmp eax, 1
jne 0x48ec6c
lea edx, [esp + 0xe54]
push edx
call fcn.00488e40
add esp, 4
lea edx, [esp + 0xd4c]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48ec60
jmp 0x48ecaa
push 0
lea eax, [esp + 0xe58]
push eax
push ebx
push edi
call fcn.0043fd60
add esp, 0x10
test eax, eax
jne 0x48ecaa
lea ecx, [esp + 0xe54]
push ecx
call fcn.00488e40
add esp, 4
lea edx, [esp + 0xd4c]
jmp 0x48eca0
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x48eca0
mov edx, dword [0x539714]
mov eax, dword [0x539724]
mov ecx, dword [0x53789c]
mov dword [esp + 0x80], edx
mov edx, dword [0x5378cc]
mov dword [esp + 0x84], eax
mov eax, dword [0x52b488]
mov dword [esp + 0x88], ecx
mov ecx, dword [0x52b48c]
mov dword [esp + 0x8c], edx
mov edx, dword [0x53cedc]
mov dword [esp + 0x90], eax
mov eax, dword [0x539728]
mov dword [esp + 0x94], ecx
mov ecx, dword [0x5378c4]
mov dword [esp + 0x98], edx
mov edx, dword [0x5378a0]
mov dword [esp + 0x7c], 0xa3bb
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], edx
cmp dword [0x537d78], esi
je 0x48ed5b
lea eax, [esp + 0xe54]
push eax
lea ecx, [esp + 0xa4]
push ecx
lea edx, [esp + 0x94]
push edx
mov ecx, 0x53ac78
call fcn.00432cc0
cmp dword [0x537f30], esi
je 0x48edba
lea eax, [esp + 0x2c]
push eax
push edi
mov dword [esp + 0x34], esi
call dword [0x5385f8]
cmp dword [esp + 0x2c], esi
jne 0x48edba
lea ecx, [esp + 0xe54]
push ecx
push ebx
push 0x51f09c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x30]
call fcn.00416500
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
jmp 0x48eb90
cmp byte [esp + 0xd4c], 0
je 0x48edd6
lea edx, [esp + 0xd4c]
push edx
call fcn.00404330
add esp, 4
mov esi, eax
push 0x51c5fc
call fcn.00404690
push 3
push eax
lea eax, [esp + 0xe60]
push eax
call fcn.004b9e25
add esp, 0x10
test eax, eax
je 0x48edff
test esi, esi
jne 0x48ee84
lea ecx, [esp + 0xe54]
push ecx
push edi
lea ecx, [esp + 0x17c]
call fcn.00408d20
test eax, eax
jne 0x48ee84
push eax
push eax
push edi
call 0x52ced9
mov esi, eax
push esi
lea edx, [esp + 0xe58]
push edx
push ebx
push 0x51ec1c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
test esi, esi
jne 0x48ee67
push 0x40000c01
push 0x1caf7a03
push 0x32ca
call fcn.0040a3f0
add esp, 0xc
mov byte [esp + 0x13], 1
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x30]
call fcn.00416500
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
jmp 0x48eb90
cmp ebx, dword [0x53789c]
jne 0x48ee9e
lea eax, [esp + 0xd4c]
push eax
push 0x51ebf8
jmp 0x48f711
mov ecx, dword [0x539714]
cmp ebx, ecx
jne 0x48eec9
mov eax, dword [0x539710]
cmp eax, 8
je 0x48eeb7
cmp eax, 0x2b
jne 0x48eec9
lea ecx, [esp + 0xd4c]
push ecx
push 0x51ebd8
jmp 0x48f711
cmp dword [0x537f30], 0
je 0x48eef0
cmp ebx, ecx
je 0x48eede
cmp ebx, dword [0x53cedc]
jne 0x48eef0
lea edx, [esp + 0xd4c]
push edx
push 0x51ebb8
jmp 0x48f711
cmp ebx, dword [0x53cfbc]
je 0x48f704
cmp ebx, dword [0x53cfc4]
je 0x48f704
mov eax, dword [esp + 0x44]
test eax, eax
je 0x48ef53
cmp esi, 0x7d1c311
je 0x48ef28
cmp esi, 0x7fc51aa3
je 0x48ef28
cmp esi, 0x51c134f8
jne 0x48ef53
push eax
lea eax, [esp + 0xd50]
push eax
push 0x51eb90
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
mov byte [0x53cee7], 1
push 0
push 0
push edi
call 0x52ced9
mov ebx, eax
test bl, 8
je 0x48efb3
mov al, byte [esp + 0xd4c]
cmp al, 0x73
je 0x48ef73
cmp al, 0x53
jne 0x48efb3
lea ecx, [esp + 0xd4c]
push ecx
push 0x51eb6c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x30]
call fcn.00416500
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
jmp 0x48eb90
cmp dword [0x537f30], 0
jne 0x48efc7
push 0
push edi
call fcn.0048a120
add esp, 8
mov edx, dword [0x53ce98]
push 0x4e20
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xd4c]
push eax
push ecx
push 0x51eb48
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, ebx
and esi, 1
jne 0x48f039
test bl, 0x10
jne 0x48f039
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7c]
push edx
push 0xb
push 3
push esi
push 0x64
push eax
push 0x53cd88
push esi
call 0x52d0b8
mov edi, eax
mov dword [esp + 0x20], edi
jmp 0x48f075
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push 0xb
push 3
push 0
push 0xc8
push edx
push 0x53cd88
push 0
call 0x52d0b8
mov edi, eax
mov dword [esp + 0x20], edi
cmp edi, 0xe1c2f3b0
je 0x48f081
mov eax, dword [esp + 0x38]
push eax
call fcn.00491be0
add esp, 4
cmp edi, 0xe1c2f3b0
jne 0x48f119
push 0x51eb30
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
mov edx, dword [esp + 0x20]
add esp, 0xc
push 0
push 5
lea ecx, [esp + 0xd30]
push ecx
push 0x458a0000
push edx
mov byte [esp + 0xd34], 0x4d
mov byte [esp + 0xd35], 0x5a
mov byte [esp + 0xd36], 0x90
mov byte [esp + 0xd37], 0
mov byte [esp + 0xd38], 3
mov byte [esp + 0xd3c], 0
mov dword [esp + 0xd3d], 0
call dword [0x5385e0]
lea eax, [esp + 0xd28]
lea ecx, [esp + 0xd20]
push 5
push eax
push ecx
call fcn.004b9e25
add esp, 0xc
test eax, eax
je 0x48f6d6
push 0x51e29c
jmp 0x48f126
cmp edi, 0x321
jne 0x48f13e
push 0x51eb1c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
jmp 0x48f6d6
cmp edi, 0x322
je 0x48f6d6
cmp edi, 0xe1c2f3b6
jne 0x48f4fc
push 0x51eb00
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [0x537890]
add esp, 0xc
lea edx, [eax + eax*2]
push 0
mov dword [esp + 0x80], edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
test esi, esi
jne 0x48f1e0
test bl, 0x10
jne 0x48f1e0
cmp dword [0x54a138], 0x4e8e
jb 0x48f1b4
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x7c]
push eax
push 0xb
push 3
push 0x1000001
push 0x3e8
push ecx
jmp 0x48f1cc
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7c]
push edx
push 0xb
push 3
push 0x1000001
push 0x7d0
push eax
push 0x53cd88
push 0
call 0x52d0b8
mov edi, eax
mov dword [esp + 0x20], edi
jmp 0x48f21f
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push 0xb
push 3
push 0x1000001
push 0xc8
push edx
push 0x53cd88
push 0
call 0x52d0b8
mov edi, eax
mov dword [esp + 0x20], edi
cmp edi, 0xe1c2f3b0
je 0x48f21f
mov eax, dword [esp + 0x38]
push eax
call fcn.00491be0
add esp, 4
mov dword [esp + 0x7c], 0xa3bb
cmp edi, 0xe1c2f3b0
jne 0x48f2c6
inc dword [esp + 0x24]
push 0x51eaec
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
mov edx, dword [esp + 0x20]
add esp, 0xc
push 0
push 5
lea ecx, [esp + 0xd20]
push ecx
push 0x458a0000
push edx
mov byte [esp + 0xd44], 0x4d
mov byte [esp + 0xd45], 0x5a
mov byte [esp + 0xd46], 0x90
mov byte [esp + 0xd47], 0
mov byte [esp + 0xd48], 3
mov byte [esp + 0xd2c], 0
mov dword [esp + 0xd2d], 0
call dword [0x5385e0]
cmp byte [0x54a134], 0
je 0x48f6d6
lea eax, [esp + 0xd18]
lea ecx, [esp + 0xd30]
jmp 0x48f0fe
cmp edi, 0x321
jne 0x48f2dc
inc dword [esp + 0x18]
push 0x51ead8
jmp 0x48f126
cmp edi, 0x322
jne 0x48f2ee
push 0x51ece4
jmp 0x48f126
lea edx, [edi + 0x1e3d0c50]
cmp edx, 8
ja 0x48f667
mov eax, dword [edi*4 + 0x7946e53c]
push eax
push edi
push 0x51e2c8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push 2
push 4
push ebx
push 0x51eabc
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push 0x51e2b4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp edi, 0xe1c2f3b4
je 0x48f4f3
cmp byte [0x53cee0], 0
jne 0x48f386
cmp edi, 0xe1c2f3b2
je 0x48f6d6
inc dword [esp + 0x18]
cmp edi, 0xe1c2f3b3
jne 0x48f3ed
cmp ebx, 4
je 0x48f39c
cmp esi, 6
jne 0x48f3b9
push 0x51eab0
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov byte [esp + 0x13], 1
cmp byte [esp + 0xe54], 0
jne 0x48f3ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e6
jne 0x48f3ed
push 0x51eaa4
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov byte [esp + 0x13], 1
cmp byte [0x53ce8e], 0
je 0x48f415
cmp edi, 0xe1c2f3b3
jne 0x48f415
test esi, esi
je 0x48f415
cmp byte [0x53cee1], 0
je 0x48f410
cmp esi, 6
je 0x48f415
mov byte [esp + 0x13], 1
cmp byte [0x537dcb], 0
je 0x48f433
cmp edi, 0xe1c2f3b6
je 0x48f42e
cmp edi, 0xe1c2f3b2
jne 0x48f433
mov byte [esp + 0x13], 1
cmp edi, 0xe1c2f3b6
jne 0x48f6d6
test esi, esi
jne 0x48f6d6
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x28]
push ecx
push esi
push edx
mov dword [esp + 0x34], esi
call 0x52ced9
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x64]
call fcn.0041f7e0
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
call fcn.004164a0
test al, al
je 0x48f6d6
mov edx, dword [esp + 0x28]
push edx
call fcn.0040a880
add esp, 4
test eax, eax
jne 0x48f6d6
mov eax, dword [esp + 0x28]
push eax
push 0x51ecbc
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp byte [0x53ce8f], 0
je 0x48f6d6
push esi
push 0x1caf7a04
push 0x32c8
call fcn.0040a3f0
add esp, 0xc
mov byte [esp + 0x13], 1
jmp 0x48f6d6
inc dword [esp + 0x40]
jmp 0x48f6d6
lea edx, [edi + 0x1e3d0c50]
cmp edx, 8
ja 0x48f667
mov eax, dword [edi*4 + 0x7946e53c]
push eax
push edi
push 0x51e27c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push 2
push 4
push ebx
push 0x51ea88
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push 0x51e2b4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp edi, 0xe1c2f3b4
je 0x48f6d6
cmp byte [0x53cee0], 0
jne 0x48f594
cmp edi, 0xe1c2f3b2
je 0x48f6d6
inc dword [esp + 0x18]
cmp edi, 0xe1c2f3b3
jne 0x48f627
cmp ebx, 4
je 0x48f5ae
cmp esi, 6
jne 0x48f5df
push 0x51eab0
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x80000801
push 0x1caf7a05
push 0x32c8
call fcn.0040a3f0
add esp, 0x18
mov byte [esp + 0x13], 1
cmp byte [esp + 0xe54], 0
jne 0x48f627
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e6
jne 0x48f627
push 0x51eaa4
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x80000801
push 0x1caf7a06
push 0x32c8
call fcn.0040a3f0
add esp, 0x18
mov byte [esp + 0x13], 1
cmp byte [0x53ce8e], 0
je 0x48f64f
cmp edi, 0xe1c2f3b3
jne 0x48f64f
test esi, esi
je 0x48f64f
cmp byte [0x53cee1], 0
je 0x48f64a
cmp esi, 6
je 0x48f64f
mov byte [esp + 0x13], 1
cmp byte [0x537dcb], 0
je 0x48f6d6
cmp edi, 0xe1c2f3b2
jne 0x48f6d6
mov byte [esp + 0x13], 1
jmp 0x48f6d6
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
push edi
push 0x51ec70
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x59
call fcn.0040a8e0
add esp, 0x14
test eax, eax
je 0x48f6d6
cmp edi, 1
jne 0x48f6d6
call esi
test eax, eax
jne 0x48f6d6
mov ecx, dword [0x527d88]
push eax
push eax
push ecx
push 0x50d930
call fcn.00404690
add esp, 4
push eax
push 0x50d147
push 0x51ec54
push 0
push 0x1337a21
push 2
push 0
call fcn.0043c0b0
add esp, 0x28
mov edx, dword [0x53ce98]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x30]
call fcn.00416500
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
jmp 0x48eb90
lea ecx, [esp + 0xd4c]
push ecx
push 0x51ea70
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.00416500
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
jmp 0x48eb90
cmp byte [0x54a134], 0
je 0x48f7a1
push 1
push 7
push 8
push 0x7d7
push 0x53cd88
call fcn.004104c0
add esp, 0x14
test al, al
jne 0x48f7f8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51ea5c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0020000
push 0x1caf7a07
push 0x2afb
call fcn.0040a3f0
add esp, 0x18
jmp 0x48f9e5
push 1
push 7
push 8
push 0x7d7
push 0x53cd88
call fcn.004104c0
add esp, 0x14
test al, al
jne 0x48f7f8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51ea5c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0020000
push 0x1caf7a08
push 0x2afb
call fcn.0040a3f0
add esp, 0x18
jmp 0x48f9e5
cmp dword [0x537c04], 0x17c
jne 0x48f83e
cmp byte [0x537dca], 0
je 0x48f83e
push 0x51ea40
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0000200
push 0x1caf7a09
push 0x3a9a
call fcn.0040a3f0
add esp, 0x18
jmp 0x48f9e5
mov bl, byte [esp + 0x13]
test bl, bl
jne 0x48f998
cmp dword [0x537f30], 0
jne 0x48f887
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x48f861
cmp dword [esp + 0x40], esi
je 0x48f86f
mov eax, dword [esp + 0x18]
cmp esi, eax
jae 0x48f887
cmp dword [esp + 0x40], eax
jae 0x48f887
cmp byte [0x53cee7], 0
je 0x48f99c
cmp dword [esp + 0x44], 3
jb 0x48f99c
push 0x51ea24
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp byte [0x53b38d], 0
je 0x48f941
call fcn.0042a640
call fcn.00423d80
test eax, eax
jne 0x48f8f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51ea04
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf7a0a
push 0x2ee5
call fcn.0040a3f0
add esp, 0x18
jmp 0x48f9e5
mov edx, dword [esp + 0x20]
push edx
call fcn.00428bb0
add esp, 4
test eax, eax
jne 0x48f941
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51e9e0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000c01
push 0x1caf7a0b
push 0x2ee5
call fcn.0040a3f0
add esp, 0x18
jmp 0x48f9e5
lea ecx, [esp + 0xac]
mov byte [esp + 0x1180], 2
call fcn.004212b0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1180], 1
call fcn.004212b0
lea ecx, [esp + 0x174]
mov byte [esp + 0x1180], 0
call fcn.004085c0
lea ecx, [esp + 0x10c]
mov dword [esp + 0x1180], 0xffffffff
call fcn.00405d20
mov al, 1
jmp 0x48fa37
mov esi, dword [esp + 0x24]
mov eax, dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
push eax
push str.VirtualProtectEx
call fcn.00489060
mov ecx, dword [sym.imp.KERNEL32.dll_DebugActiveProcess]
push ecx
push str.DebugActiveProcess
call fcn.00489060
mov edx, dword [esp + 0x28]
add esp, 0x10
push edx
movzx eax, bl
push esi
push eax
push 0x51e9a4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
lea ecx, [esp + 0xac]
mov byte [esp + 0x1180], 2
call fcn.004212b0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1180], 1
call fcn.004212b0
lea ecx, [esp + 0x174]
mov byte [esp + 0x1180], 0
call fcn.004085c0
mov dword [esp + 0x1180], 0xffffffff
lea ecx, [esp + 0x10c]
call fcn.00405d20
xor al, al
mov ecx, dword [esp + 0x1178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1160]
xor ecx, esp
call fcn.004b6da3
mov esp, ebp
pop ebp
ret