Function at 0x4a36e0
Capabilities:
Acquire debug privileges
Check mutex on windows
Copy file
Create process on windows
Create thread
Get common file path
Get system information on windows
Parse pe header
Resume thread

Disassembly:
push 0xffffffffffffffff
push 0x4ff4b9
mov eax, dword fs:[0]
push eax
mov eax, 0x2748
call fcn.004b7ac0
mov eax, dword [0x52e144]
xor eax, esp
mov dword [esp + 0x2744], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x52e144]
xor eax, esp
push eax
lea eax, [esp + 0x275c]
mov dword fs:[0], eax
push 0x5230f0
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [0x5378cc]
shr eax, 0x1d
and al, 1
push 0x5cc
mov byte [0x548d6f], al
mov dword [0x52b51c], 0x3975e4
mov dword [0x548d3c], 0xa900008b
call fcn.004b7c73
add esp, 0x10
mov dword [esp + 0x18], eax
xor ebp, ebp
mov dword [esp + 0x2764], ebp
cmp eax, ebp
je 0x4a377e
mov ecx, eax
call fcn.00409050
jmp 0x4a3780
xor eax, eax
or ebx, 0xffffffff
cmp byte [0x54a134], 0
mov dword [esp + 0x2764], ebx
mov dword [0x548f00], eax
mov dword [0x52b520], 0x1f000059
jne 0x4a37d0
push 0x5230d4
call fcn.00404690
mov ecx, dword [0x538644]
add esp, 4
push eax
push ecx
call fcn.0040fed0
mov dword [0x548d44], eax
cmp eax, ebp
je 0x4a37d0
mov edx, dword [0x53789c]
push 1
push edx
call eax
call fcn.00440d80
cmp byte [0x54a134], 0
je 0x4a39c0
push 0x5230bc
call fcn.00404690
add esp, 4
push eax
mov eax, dword [0x538640]
push eax
call fcn.0040fed0
push 0x5230bc
mov dword [0x54907c], eax
call fcn.00404690
push eax
call fcn.0048ad20
push 0x510480
mov dword [0x549078], eax
call fcn.00404690
mov ecx, dword [0x538640]
add esp, 0xc
push eax
push ecx
call fcn.0040fed0
mov esi, eax
cmp esi, ebp
je 0x4a39c0
lea edx, [esp + 0x17]
push edx
push ebp
push ebp
push 0x14
call esi
test eax, eax
jl 0x4a3b01
push 0x5230a8
mov byte [0x548d80], 1
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea eax, [esp + 0x17]
push eax
push ebp
push 1
push 0x14
call esi
cmp byte [0x537552], 0
jne 0x4a38b2
cmp dword [0x537c14], ebp
jne 0x4a39c0
call fcn.00418800
push eax
push 0x523094
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
jmp 0x4a39c0
push 0x104
lea ecx, [esp + 0x1b49]
push ebp
push ecx
mov byte [esp + 0x1b50], 0
call fcn.004b6dc0
add esp, 0xc
push 0x104
lea edx, [esp + 0x1b48]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x5107a4
call fcn.00404690
add esp, 4
push eax
lea eax, [esp + 0x1b48]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x104
lea ecx, [esp + 0x1c50]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x1b44]
push edx
call fcn.0040f8b0
add esp, 4
cmp eax, 0x57c
jl 0x4a39a9
lea edx, [esp + 0x1c4c]
push edx
call fcn.00413e70
add esp, 4
cmp al, 1
jne 0x4a3965
lea eax, [esp + 0x1b44]
push eax
call fcn.00413e70
add esp, 4
test al, al
jne 0x4a3965
push ebp
lea ecx, [esp + 0x1b48]
push ecx
lea edx, [esp + 0x1c54]
push edx
jmp 0x4a39ba
push 1
lea eax, [esp + 0x1c50]
push eax
mov ecx, 0x538cb8
call fcn.00406500
test al, al
je 0x4a39c0
lea ecx, [esp + 0x1c4c]
push ecx
call fcn.00413e70
add esp, 4
test al, al
je 0x4a39c0
push 1
lea edx, [esp + 0x1b48]
push edx
mov ecx, 0x538cb8
call fcn.00406500
test al, al
jne 0x4a39c0
push ebp
lea eax, [esp + 0x1b48]
push eax
lea ecx, [esp + 0x1c54]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [0x539714]
mov ecx, dword [0x548f00]
push edx
call fcn.00408ed0
mov dword [0x53971c], eax
mov eax, dword [0x537890]
imul eax, dword [0x548d74]
add eax, 0x55
cmp byte [0x54a134], 0
mov dword [0x548d74], eax
je 0x4a3ce4
cmp dword [0x5378e0], ebp
je 0x4a3cd3
push 0x103
lea eax, [esp + 0x1b49]
push ebp
push eax
mov byte [esp + 0x1b50], 0
call fcn.004b6dc0
add esp, 0xc
cmp byte [0x548d80], 0
push 0x104
je 0x4a3b72
lea ecx, [esp + 0x1b48]
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x523050
call fcn.00404690
add esp, 4
lea edx, [esp + 0x1b46]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x4a3a56
lea edx, [esp + 0x1b44]
push ebp
push edx
call fcn.004ba516
add esp, 8
cmp eax, ebx
jne 0x4a3c0e
lea eax, [esp + 0x1b44]
push 0x104
push eax
call fcn.00491310
push 0x52303c
call fcn.00404690
add esp, 0xc
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a3aa0
lea edi, [esp + 0x1b44]
sub eax, edx
add edi, ebx
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a3ab2
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebp
lea ecx, [esp + 0x1b48]
push ecx
call fcn.004ba516
add esp, 8
cmp eax, ebx
jne 0x4a3c0e
push 0xc0020000
push 0x1c800000
push 0x2af8
call fcn.0040a3f0
add esp, 0xc
xor al, al
jmp 0x4a560d
call fcn.00410fd0
push str.SeDebugPrivilege
call fcn.00410e60
add esp, 4
test al, al
jne 0x4a39c0
push 0x523024
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp dword [0x537c14], ebp
je 0x4a39c0
push 0x51f138
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0000011
push 0x1caf74d4
push 0x36b2
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
lea edx, [esp + 0x1b48]
push edx
call fcn.00491310
push 0x52303c
call fcn.00404690
add esp, 0xc
mov edx, eax
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a3b90
lea edi, [esp + 0x1b44]
sub eax, edx
add edi, ebx
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a3ba2
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x1b44]
and ecx, 3
push ebp
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.004ba516
add esp, 8
cmp eax, ebx
jne 0x4a3c0e
push 0x104
lea ecx, [esp + 0x1b48]
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x522fe0
call fcn.00404690
add esp, 4
lea edx, [esp + 0x1b46]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x4a3bf6
push ebp
lea edx, [esp + 0x1b48]
push edx
jmp 0x4a3ad3
lea ecx, [esp + 0x300]
mov dword [esp + 0x18], ebp
call fcn.00401190
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x1b48]
push ecx
lea ecx, [esp + 0x308]
mov dword [esp + 0x276c], 1
call fcn.004011d0
cmp dword [esp + 0x18], ebp
jne 0x4a3c79
push 0x80020002
push 0x1caf759c
push 0x2af9
call fcn.0040a3f0
add esp, 0xc
lea ecx, [esp + 0x300]
mov dword [esp + 0x2764], ebx
call fcn.004011c0
xor al, al
jmp 0x4a560d
lea edx, [esp + 0x1b44]
push edx
call fcn.00497670
mov esi, eax
add esp, 4
cmp esi, 1
je 0x4a3cbb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
lea eax, [esp + 0x1b4c]
push eax
push 0x522fa0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
lea ecx, [esp + 0x300]
mov dword [esp + 0x2764], ebx
call fcn.004011c0
mov eax, dword [0x548d74]
cmp byte [0x54a134], 0
je 0x4a3ce4
imul eax, eax, 0x19b
jmp 0x4a3cea
imul eax, eax, 0x19c
lea ecx, [esp + 0x1b0c]
push 1
mov edx, ecx
push edx
mov dword [0x548d74], eax
mov dword [esp + 0x24], 0xc
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebp
xor edi, edi
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
je 0x4a3d31
push ebp
push ebp
push 1
lea eax, [esp + 0x1b18]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
je 0x4a3d31
lea edi, [esp + 0x1c]
push 0x522f8c
call fcn.00404690
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
add esp, 4
push eax
push ebp
push edi
call esi
mov dword [0x548ee4], eax
cmp eax, ebp
jne 0x4a3dae
push 0x522f80
call fcn.00404690
add esp, 4
push eax
push ebp
push edi
call esi
mov dword [0x548ee4], eax
cmp eax, ebp
jne 0x4a3dae
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
call esi
push eax
push 0x522f58
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000001
push 0x1caf7664
push 0x2711
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push eax
push 0x522f44
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x522f30
call fcn.00404690
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
add esp, 0x10
push eax
push 0x10000
push ebp
push 4
push edi
push 0xffffffffffffffff
call ebx
mov dword [0x548ee8], eax
cmp eax, ebp
jne 0x4a3e56
push 0x522f24
call fcn.00404690
add esp, 4
push eax
push 0x10000
push ebp
push 4
push edi
push 0xffffffffffffffff
call ebx
mov dword [0x548ee8], eax
cmp eax, ebp
jne 0x4a3e56
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
call esi
push eax
push 0x522ef8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf76c8
push 0x2710
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push eax
push 0x522ee0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov ecx, dword [0x548ee8]
add esp, 0xc
push 0x10000
push ebp
push ebp
push 0xf001f
push ecx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x548eec], eax
cmp eax, ebp
jne 0x4a3ee5
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
call esi
push eax
push 0x522ec0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov edx, dword [0x548ee8]
add esp, 0xc
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x40000400
push 0x1caf772c
push 0x2710
call fcn.0040a3f0
add esp, 0xc
xor al, al
jmp 0x4a560d
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push ebp
push ebp
push 1
push ebp
mov dword [eax], ebp
call esi
mov dword [0x548efc], eax
cmp eax, ebp
jne 0x4a3f3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522e94
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf7790
push 0x2711
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
mov ebp, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x5378ac
push 0
push 0
push 0x49bfc0
push 0
push 0
call ebp
mov dword [0x548ef0], eax
test eax, eax
jne 0x4a3f9a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522e6c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf77f4
push 0x2712
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
mov ecx, dword [0x5378ac]
push ecx
push eax
push 0x522e4c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push 0
push 0
push 1
push 0
call esi
mov dword [0x548d64], eax
test eax, eax
jne 0x4a400d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522e24
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf7858
push 0x2711
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 0
push 0
push 1
push 0
call esi
mov dword [0x548d5c], eax
test eax, eax
jne 0x4a405d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522e00
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf78bc
push 0x2711
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 0
push 0
push 1
push 0
call esi
mov dword [0x548d60], eax
test eax, eax
jne 0x4a407e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522ddc
jmp 0x4a402c
push 0x5378a4
push 0
push 0
push 0x4a0650
push 0
push 0
call ebp
mov dword [0x548d54], eax
test eax, eax
jne 0x4a40d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522db4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf7920
push 0x2712
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
mov edx, dword [0x5378a4]
push edx
push eax
push 0x522d94
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push 0x5378b0
push 0
push 0
push 0x49f680
push 0
push 0
call ebp
mov dword [0x548d4c], eax
test eax, eax
jne 0x4a4155
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522d6c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf7984
push 0x2712
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
mov ecx, dword [0x5378b0]
push ecx
push eax
push 0x522d50
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [0x539710]
mov esi, dword [sym.imp.KERNEL32.dll_SetThreadPriority]
add esp, 0x10
cmp eax, 0x3d
jne 0x4a4193
mov edx, dword [0x548d4c]
push 0xf
push edx
jmp 0x4a41c8
cmp eax, 0x3a
je 0x4a41a7
cmp eax, 0x3b
je 0x4a41a7
cmp eax, 0x3e
je 0x4a41a7
cmp eax, 0x40
jne 0x4a41ca
lea eax, [esp + 0x1b20]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [esp + 0x1b34], 2
jae 0x4a41ca
mov ecx, dword [0x548d4c]
push 0xfffffffffffffffe
push ecx
call esi
push 0x5378b4
push 0
push 0
push 0x492670
push 0
push 0
call ebp
mov dword [0x548d58], eax
test eax, eax
jne 0x4a4224
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522d20
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1c6f79b6
push 0x2710
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
mov edx, dword [0x5378b4]
push edx
push eax
push 0x522cfc
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push 0x5378b8
push 0
push 0
push 0x497d40
push 0
push 0
call ebp
mov dword [0x548ef4], eax
test eax, eax
jne 0x4a42a1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522cd4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1c6f79c0
push 0x2712
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
mov ecx, dword [0x5378b8]
push ecx
push eax
push 0x522cb4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
cmp dword [0x5383b4], 1
jne 0x4a42f8
mov edx, dword [0x548d58]
push 0xfffffffffffffffe
push edx
call esi
mov eax, dword [0x548d4c]
push 0xfffffffffffffffe
push eax
call esi
mov ecx, dword [0x548d54]
push 0xfffffffffffffffe
push ecx
call esi
mov edx, dword [0x548ef4]
push 0xfffffffffffffffe
push edx
call esi
cmp dword [0x5383b4], 2
jne 0x4a432b
mov eax, dword [0x548d58]
push 0xf
push eax
call esi
mov ecx, dword [0x548d4c]
push 0xf
push ecx
call esi
mov edx, dword [0x548d54]
push 0xf
push edx
call esi
mov eax, dword [0x548ef4]
push 0xf
push eax
call esi
add dword [0x548d74], 0x11
cmp byte [0x54a134], 0
jne 0x4a4342
sub dword [0x548d74], 0x55
cmp byte [0x527d8d], 0
mov ebp, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
je 0x4a485e
cmp dword [0x537f30], 0
je 0x4a4833
call fcn.00499a00
cmp dword [0x537f30], 0
je 0x4a4833
cmp dword [0x537cf8], 0
je 0x4a4833
push 0x522c90
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x522c78
call fcn.00404690
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
add esp, 0x10
push eax
push 0
push edi
call esi
mov dword [0x5385a8], eax
test eax, eax
jne 0x4a43e9
push 0x522c68
call fcn.00404690
add esp, 4
push eax
push 0
push edi
call esi
mov dword [0x5385a8], eax
test eax, eax
jne 0x4a43e9
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
call esi
push eax
push 0x522c40
jmp 0x4a3d7d
push eax
push 0x522c28
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x522c10
call fcn.00404690
add esp, 0x10
push eax
push 0x10000
push 0
push 4
push edi
push 0xffffffffffffffff
call ebx
mov dword [0x5385a0], eax
test eax, eax
jne 0x4a4479
push 0x522c00
call fcn.00404690
add esp, 4
push eax
push 0x10000
push 0
push 4
push edi
push 0xffffffffffffffff
call ebx
mov dword [0x5385a0], eax
test eax, eax
jne 0x4a4479
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
call esi
push eax
push 0x522bd4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
xor al, al
jmp 0x4a560d
push 0x522ee0
call fcn.00404690
mov ecx, dword [0x5385a0]
add esp, 4
push ecx
push 0x522ee0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov edx, dword [0x5385a0]
add esp, 0xc
push 0x10000
push 0
push 0
push 0xf001f
push edx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x5385a4], eax
test eax, eax
jne 0x4a4505
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
call esi
push eax
push 0x522bb4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [0x5385a0]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x4a560d
push 0x103
lea ecx, [esp + 0x1c51]
push 0
mov dword [eax], 0
push ecx
mov byte [esp + 0x1c58], 0
call fcn.004b6dc0
add esp, 0xc
lea edx, [esp + 0x1c4c]
push edx
push 0x104
call ebp
push 0x522ba0
call fcn.00404690
add esp, 4
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4a4548
lea edi, [esp + 0x1c4c]
sub eax, ecx
mov esi, ecx
dec edi
jmp 0x4a4560
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a4560
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x1c4c]
and ecx, 3
push 0
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.004ba516
add esp, 8
cmp eax, 0xffffffff
jne 0x4a45ac
push 0x522b84
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
xor al, al
jmp 0x4a560d
push 1
lea ecx, [esp + 0x1c50]
push ecx
mov ecx, 0x538cb8
call fcn.00406500
test al, al
jne 0x4a4614
mov esi, dword [0x538cfc]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x522b60
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
cmp dword [0x538cfc], 0xd
je 0x4a4614
push 0xc0020000
push 0x1caf7d08
push 0x2afd
call fcn.0040a3f0
add esp, 0xc
xor al, al
jmp 0x4a560d
cmp dword [0x537c1c], 0
jne 0x4a4669
lea edx, [esp + 0x1c4c]
push 0x522b4c
push edx
call fcn.00489660
add esp, 8
test al, al
jne 0x4a4669
push 0x522b2c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0020100
push 0x1caf79ed
push 0x2af9
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 0x44
push 0
push 0x53d020
call fcn.004b6dc0
xor eax, eax
push 0xff
push eax
mov dword [0x53d190], eax
mov dword [0x53d194], eax
mov dword [0x53d198], eax
mov dword [0x53d19c], eax
mov byte [esp + 0x1b58], al
lea eax, [esp + 0x1b59]
push eax
mov dword [0x53d020], 0x44
call fcn.004b6dc0
add esp, 0x18
call dword [0x5385fc]
mov ecx, dword [0x537cdc]
mov edx, dword [0x537cd8]
push ecx
mov ecx, dword [0x5378c4]
push edx
mov edx, dword [0x53cedc]
push ecx
mov ecx, dword [0x549068]
push edx
mov edx, dword [0x549064]
push ecx
mov ecx, dword [0x5378cc]
push edx
mov edx, dword [0x539728]
push ecx
mov ecx, dword [0x539724]
push edx
mov edx, dword [0x539714]
push ecx
mov ecx, dword [0x53789c]
push 0x53972c
push edx
push ecx
push eax
push 0x522af4
call fcn.00404690
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 4
push eax
lea edx, [esp + 0x1b7c]
push edx
call ebp
add esp, 0x3c
lea eax, [esp + 0x1b44]
push eax
push 0x522ae0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
lea ecx, [esp + 0x1b50]
push ecx
call fcn.004041d0
mov edi, eax
lea eax, [esp + 0x1b54]
add esp, 0x10
lea esi, [esp + 0x1f58]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4a4771
sub eax, ecx
add eax, 4
test eax, eax
jle 0x4a479a
mov ebx, eax
movzx eax, byte [edi]
push eax
push str.x_02x
push esi
call ebp
add esp, 0xc
add esi, eax
inc edi
sub ebx, 1
jne 0x4a4783
lea edx, [esp + 0x1f58]
push edx
push 0x522acc
mov byte [esi], 0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push 0x53d190
push 0x53d020
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x1f78]
push eax
lea ecx, [esp + 0x1c70]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x4a4801
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x522aa8
jmp 0x4a445c
mov edx, dword [0x53d198]
push edx
push 0x522a8c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [0x53d198]
mov ebp, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
add esp, 0xc
mov dword [0x5378a0], eax
call fcn.0048ceb0
test al, al
jne 0x4a484b
push 0x522a74
call fcn.00404690
jmp 0x4a4464
mov ecx, dword [0x548d74]
mov dword [0x548d78], ecx
xor ebx, ebx
jmp 0x4a497a
lea edx, [esp + 0x1b20]
push 1
mov eax, edx
xor ebx, ebx
push eax
mov dword [esp + 0x30], 0xc
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
xor esi, esi
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
je 0x4a48a2
push ebx
push ebx
push 1
lea ecx, [esp + 0x1b2c]
push ecx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
je 0x4a48a2
lea esi, [esp + 0x28]
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 0x4a4911
push 0x51f2ec
call fcn.00404690
add esp, 4
push eax
push ebx
push esi
call edi
mov dword [0x53ce98], eax
cmp eax, ebx
jne 0x4a4911
push 0x51f2c4
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x40000001
push 0x1caf7a4c
push 0x2711
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
movzx edx, byte [0x527d8d]
push edx
push 0x522a68
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov esi, 1
add esp, 0xc
cmp dword [0x537d64], esi
je 0x4a4953
push str.NPGGERR_NPGM_NOGM
push 0xfa9
call fcn.0040c590
add esp, 8
test byte [0x5378cc], 1
jne 0x4a497a
push 0x522a48
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
add dword [0x548d74], esi
cmp dword [0x537d10], ebx
je 0x4a49a0
cmp dword [0x537f34], ebx
jne 0x4a4992
cmp dword [0x537f30], ebx
jne 0x4a49a0
mov eax, dword [0x539714]
push eax
call fcn.00419520
add esp, 4
jmp 0x4a49b2
mov eax, dword [0x548d74]
cmp dword [0x548d78], eax
je 0x4a49cd
xor eax, 0xe5869ffd
lea ecx, [eax + eax*8]
mov dword [0x548d7c], ecx
cmp dword [0x537f30], ebx
je 0x4a49e7
mov edx, dword [0x539720]
push 0x548d94
push edx
call dword [0x5385f8]
cmp dword [0x537c58], ebx
je 0x4a4d67
cmp byte [0x54a134], 0
je 0x4a4c1f
mov eax, dword [0x539714]
push eax
call fcn.0043d1a0
add esp, 4
lea ecx, [esp + 0x18]
push ecx
mov edi, eax
push ebx
push edi
mov dword [esp + 0x24], ebx
call 0x52ced9
test al, 0x10
jne 0x4a4a6b
cmp dword [0x537f30], ebx
je 0x4a4a34
cmp dword [0x548d94], ebx
je 0x4a4a6b
push eax
push 0x522a1c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x80040010
push 0x1caf7ab0
push 0x2ee1
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
mov eax, dword [0x53971c]
mov ecx, dword [0x548f00]
push eax
call fcn.00408fe0
mov esi, eax
cmp esi, ebx
je 0x4a4b6a
cmp dword [0x537f30], ebx
je 0x4a4a9a
cmp dword [0x548d94], ebx
je 0x4a4b6a
push 0x2cc
lea edx, [esp + 0x38]
push ebx
push edx
call fcn.004b6dc0
add esp, 0xc
lea eax, [esp + 0x34]
push eax
push esi
mov dword [esp + 0x3c], 0x10007
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x4a4b63
push 0x522a08
call fcn.00404690
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp dword [esp + 0xec], eax
jae 0x4a4b63
push 0x5229f8
call fcn.00404690
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [esp + 0xec]
cmp ecx, eax
jae 0x4a4b63
push ecx
push 0x5229ec
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x5229d8
call fcn.00404690
add esp, 0x10
push eax
push ebx
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
cmp eax, ebx
je 0x4a4bfa
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x5229cc
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x537f30], ebx
jne 0x4a4c18
push 1
push 0x51e0d4
call fcn.004045b0
add esp, 4
push eax
push edi
call fcn.00489ac0
add esp, 0xc
push eax
push 0x5229c0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov ecx, dword [esp + 0x24]
push ecx
push edi
call fcn.004928c0
mov esi, eax
add esp, 0x14
cmp esi, ebx
je 0x4a4c18
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x5229ac
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0010000
push 0x1caf7b78
push 0x3a9b
call fcn.0040a3f0
add esp, 0x1c
xor al, al
jmp 0x4a560d
push 0xc0000100
push 0x1caf7b14
push 0x3a9c
call fcn.0040a3f0
add esp, 0xc
xor al, al
jmp 0x4a560d
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x537880]
mov esi, dword [sym.imp.KERNEL32.dll_SetEvent]
cmp eax, ebx
je 0x4a4c31
push eax
call esi
mov eax, dword [0x53755c]
cmp eax, ebx
je 0x4a4c3d
push eax
call esi
push 0x521a6c
call fcn.00404690
add esp, 4
push eax
push ebx
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov esi, eax
push 0x9c40
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4a4c9c
push 0x522994
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x40040010
push 0x1caf7bdc
push 0x2ee1
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [0x54a134], 0
je 0x4a4d4f
push 0x522970
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
mov edx, dword [0x539714]
push ebx
push edx
call fcn.0048af70
add esp, 0x14
push eax
push 0x51215c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp byte [0x53b38d], 0
je 0x4a4d67
cmp dword [0x537c24], ebx
jne 0x4a4d67
cmp dword [0x537c28], ebx
jne 0x4a4d67
mov eax, dword [0x539714]
push eax
call fcn.00428230
add esp, 4
test eax, eax
jne 0x4a4d67
push 0x51e660
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf7c40
push 0x2ee5
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 0x522958
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
test byte [0x5378cc], 1
jne 0x4a4dab
cmp dword [0x548d7c], ebx
je 0x4a4dab
push 0x52294c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0000000
push 0x1c800000
push 0x3a9c
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
call dword [0x5385fc]
mov ecx, 0x737399b4
sub ecx, dword [0x53789c]
xor eax, ecx
mov dword [0x548f18], eax
call dword [0x5385fc]
mov edx, 0x737399b4
sub edx, dword [0x53789c]
xor eax, edx
mov dword [0x548f1c], eax
jmp 0x4a4ded
cmp byte [0x54a134], 0
je 0x4a531a
cmp dword [0x537c68], ebx
je 0x4a531a
cmp dword [0x537c64], ebx
je 0x4a4f7e
push 0x103
lea eax, [esp + 0x1e59]
push ebx
push eax
mov byte [esp + 0x1e60], 0
call fcn.004b6dc0
add esp, 0xc
lea ecx, [esp + 0x1e54]
push ecx
push 0x104
call ebp
push 0x52293c
call fcn.00404690
add esp, 4
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4a4e50
lea edi, [esp + 0x1e54]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a4e63
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [esp + 0x1e54]
and ecx, 3
push ebx
push edx
rep movsb byte es:[edi], byte [esi]
call fcn.004ba516
add esp, 8
cmp eax, 0xffffffff
jne 0x4a4ec2
push 0x522924
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x80010000
push 0x1caf808c
push 0x2af8
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 1
lea eax, [esp + 0x1e58]
push eax
mov ecx, 0x538cb8
call fcn.00406500
test al, al
jne 0x4a4f2a
mov esi, dword [0x538cfc]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x522904
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
cmp dword [0x538cfc], 0xd
je 0x4a4f2a
push 0x80020000
push 0x1caf80f0
push 0x2af8
call fcn.0040a3f0
add esp, 0xc
xor al, al
jmp 0x4a560d
cmp dword [0x537c1c], ebx
jne 0x4a4f7e
lea ecx, [esp + 0x1e54]
push 0x5228f0
push ecx
call fcn.00489660
add esp, 8
test al, al
jne 0x4a4f7e
push 0x5228dc
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0020000
push 0x1caf8154
push 0x2af8
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 0x103
lea edx, [esp + 0x1d55]
push ebx
push edx
mov byte [esp + 0x1d5c], 0
call fcn.004b6dc0
add esp, 0xc
lea eax, [esp + 0x1d50]
push eax
push 0x104
call ebp
push 0x522634
call fcn.00404690
add esp, 4
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4a4fc0
lea edi, [esp + 0x1d50]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a4fd3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1d50]
push ebx
push ecx
call fcn.004ba516
add esp, 8
cmp eax, 0xffffffff
jne 0x4a5032
push 0x5220e0
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0020000
push 0x1caf7ca4
push 0x2af8
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 1
lea edx, [esp + 0x1d54]
push edx
mov ecx, 0x538cb8
call fcn.00406500
test al, al
jne 0x4a509a
mov esi, dword [0x538cfc]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x522508
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
cmp dword [0x538cfc], 0xd
je 0x4a509a
push 0xc0020000
push 0x1caf7d08
push 0x2af9
call fcn.0040a3f0
add esp, 0xc
xor al, al
jmp 0x4a560d
mov eax, dword [0x539710]
push eax
lea ecx, [esp + 0x1d54]
push ecx
call fcn.0042bf50
lea edx, [eax - 1]
add esp, 8
mov dword [0x548ea4], eax
cmp edx, 0x270e
ja 0x4a5274
push 0x5228c8
call fcn.00404690
add esp, 4
mov ecx, 0x53972c
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4a50f6
test dl, dl
je 0x4a50f2
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4a50f6
add ecx, 2
add eax, 2
test dl, dl
jne 0x4a50d6
xor eax, eax
jmp 0x4a50fb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
mov eax, dword [0x537d84]
jne 0x4a5147
cmp eax, 0x18ab
jae 0x4a5147
mov eax, dword [0x548ea4]
push eax
push 0x5228b0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x80000100
push 0x1caf7d6d
push 0x2afb
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
mov ecx, dword [0x548ea4]
cmp ecx, eax
jae 0x4a5159
push ecx
push 0x52289c
jmp 0x4a5116
cmp dword [0x537c64], ebx
je 0x4a51c7
cmp dword [0x537d88], ebx
je 0x4a51c7
push 0x52288c
call fcn.00404690
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp eax, ebx
je 0x4a51af
push 3
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x548d48], eax
cmp eax, ebx
je 0x4a51a8
call eax
cmp eax, dword [0x537d88]
jae 0x4a51c7
push eax
push 0x522878
jmp 0x4a5116
push 0x522864
jmp 0x4a51b4
push 0x522850
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov ecx, dword [0x548ea4]
push ecx
push 0x5225a0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [0x548ea4]
add esp, 0xc
cmp eax, 0x159
jae 0x4a522c
push eax
push 0x5220fc
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0020000
push 0x1caf7d6c
push 0x2afb
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 0x522840
call fcn.00404690
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x537ca0], eax
cmp eax, ebx
je 0x4a526b
mov edx, 0x5a4d
cmp word [eax], dx
jne 0x4a526b
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x4a526b
mov ecx, dword [ecx + 0x50]
add ecx, eax
mov dword [0x537ca4], ecx
mov byte [0x53bc84], 1
jmp 0x4a527f
cmp eax, ebx
je 0x4a52d7
cmp eax, 0x2710
ja 0x4a52d7
cmp dword [0x537c1c], ebx
jne 0x4a531a
lea edx, [esp + 0x1d50]
push 0x52282c
push edx
call fcn.00489660
add esp, 8
test al, al
jne 0x4a531a
push 0x522814
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0040000
push 0x1caf7e34
push 0x2af9
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x548ea4]
push eax
push 0x522580
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf7dd0
push 0x2ee2
call fcn.0040a3f0
add esp, 0x1c
xor al, al
jmp 0x4a560d
mov ecx, dword [0x539720]
push ecx
call fcn.0043d170
add esp, 4
test al, al
jne 0x4a5360
push 0x5227f8
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0050000
push 0x1caf7e98
push 0x2ee7
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 0x51f08c
call fcn.00404690
add esp, 4
push eax
push ebx
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [0x548f04], eax
cmp dword [0x539758], ebx
jne 0x4a538f
cmp eax, ebx
je 0x4a5416
mov edx, dword [0x539714]
push ebx
push edx
call fcn.0049bab0
mov esi, eax
add esp, 8
cmp esi, 0x64
je 0x4a53df
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x521a34
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push 1
push ebx
push 0x630
push 0x8b1
push ebx
call fcn.0040a990
add esp, 0x14
mov eax, dword [0x548f08]
push eax
push 0x5227d8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [0x548f04]
add esp, 0xc
cmp eax, ebx
je 0x4a5416
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x548f04], ebx
cmp byte [0x54a134], 0
je 0x4a5464
mov edi, dword [sym.imp.KERNEL32.dll_ResumeThread]
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4a5430
mov ecx, dword [0x548d54]
push ecx
call edi
mov esi, eax
push esi
push 0x5227c8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
test esi, esi
jne 0x4a5464
push 0x80
call ebp
jmp 0x4a5430
cmp dword [0x5379f4], 0
je 0x4a547a
call fcn.00491920
test al, al
je 0x4a3b6b
mov edx, dword [0x548ef0]
push edx
call fcn.00418850
add esp, 4
test eax, eax
jne 0x4a54ab
push 0xc0000100
push 0x1caf7f60
push 0x3a9c
call fcn.0040a3f0
add esp, 0xc
xor al, al
jmp 0x4a560d
mov eax, dword [0x548d54]
push eax
call fcn.00418850
add esp, 4
test eax, eax
jne 0x4a54db
push 0xc0000100
push 0x1caf7fc4
push 0x3a9c
call fcn.0040a3f0
add esp, 0xc
xor al, al
jmp 0x4a560d
cmp byte [0x54a134], 0
je 0x4a54ee
push 0
call fcn.00418cf6
add esp, 4
cmp dword [0x537c08], 0
je 0x4a5538
push 0
call fcn.004b22b0
add esp, 4
cmp al, 1
jne 0x4a5538
push 0x5227b4
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0000004
push 0x1caedc18
push 0x36b0
call fcn.0040a3f0
add esp, 0x18
xor al, al
jmp 0x4a560d
push 0x52279c
mov byte [0x548d6c], 1
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 5
call fcn.0040a8e0
add esp, 0x10
test eax, eax
je 0x4a55d6
mov ecx, dword [0x53970c]
call fcn.004052f0
cmp byte [eax], 0
je 0x4a55d6
push 0x522790
call fcn.00404690
mov ecx, dword [0x53970c]
add esp, 4
mov esi, eax
call fcn.004052f0
lea esp, [esp]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x4a55b0
test cl, cl
je 0x4a55ac
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4a55b0
add eax, 2
add esi, 2
test cl, cl
jne 0x4a5590
xor eax, eax
jmp 0x4a55b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4a55d6
push 0x52277c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
call fcn.0043d320
push 0xb
call fcn.0040a8e0
add esp, 4
test eax, eax
jne 0x4a55ec
cmp byte [0x537dfe], al
je 0x4a560b
call fcn.00444c90
test al, al
je 0x4a560b
push 1
push 5
push 0x62f
push 0x8b1
call fcn.00417130
add esp, 0x10
mov al, 1
mov ecx, dword [esp + 0x275c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2744]
xor ecx, esp
call fcn.004b6da3
add esp, 0x2754
ret