Function at 0x53c894
Capabilities:
Acquire debug privileges
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x20a
push 0
push 0
dec ecx
jne 0x53c89d
xchg dword [ebp - 4], ecx
push ebx
push esi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00404a34
mov eax, dword [ebp - 0xc]
call fcn.00404a34
xor eax, eax
push ebp
push 0x53cce5
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 8]
call fcn.00404844
test eax, eax
jle 0x53c902
mov eax, dword [ebp - 8]
call fcn.00404844
mov edx, dword [ebp - 8]
cmp byte [edx + eax - 1], 0x5c
je 0x53c902
lea eax, [ebp - 8]
mov edx, 0x53cd00
call fcn.0040484c
lea eax, [ebp - 0x1030]
mov ecx, dword [ebp - 0xc]
mov edx, 0x53cd0c
call fcn.00404890
mov edx, dword [ebp - 0x1030]
mov eax, dword [ebp - 4]
call fcn.0053c0b8
mov dl, 1
mov eax, 0x53cd2c
call fcn.004f77ac
lea eax, [ebp - 0x102c]
xor ecx, ecx
mov edx, 0x1000
call fcn.00402f1c
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x102c]
mov edx, 0x400
call fcn.004c79e0
test eax, eax
je 0x53cc8f
xor edx, edx
push ebp
push 0x53cc88
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x20]
shr eax, 2
dec eax
test eax, eax
jl 0x53cc7a
inc eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x102c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
cmp eax, 0xa
jbe 0x53cc6d
push eax
push 0
push 0x410
call sub.kernel32.dll_OpenProcess
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x53cc66
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x24]
call fcn.00404574
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
call fcn.0053bddc
test al, al
je 0x53cc4f
lea edx, [ebp - 0x1034]
mov eax, dword [ebp - 0x24]
call fcn.004092fc
mov eax, dword [ebp - 0x1034]
push eax
lea edx, [ebp - 0x1038]
mov eax, dword [ebp - 0xc]
call fcn.004092fc
mov eax, dword [ebp - 0x1038]
pop edx
call fcn.00404b88
test eax, eax
jle 0x53cc4f
cmp dword [ebp - 8], 0
jne 0x53ca1f
cmp dword [ebp + 0xc], 0
jne 0x53ca1f
xor eax, eax
mov dword [ebp - 0x10], eax
call fcn.00403f9c
jmp 0x53cc7a
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x24]
call fcn.0040a320
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 8]
call fcn.0040460c
call fcn.004f2be0
cmp al, 9
jb 0x53cafd
mov edx, dword [ebp - 0x18]
mov eax, 0x53cd48
call fcn.00404b88
test eax, eax
jle 0x53cabf
mov edx, dword [ebp - 0x18]
mov eax, 0x53cd60
call fcn.00404b88
test eax, eax
jne 0x53ca93
mov al, byte [0x53cd64]
push eax
lea eax, [ebp - 0x103c]
push eax
mov ecx, 0x53cd70
mov edx, 0x53cd48
mov eax, dword [ebp - 0x18]
call fcn.0040fe58
mov edx, dword [ebp - 0x103c]
lea eax, [ebp - 0x18]
call fcn.0040460c
jmp 0x53cafd
mov al, byte [0x53cd64]
push eax
lea eax, [ebp - 0x1040]
push eax
xor ecx, ecx
mov edx, 0x53cd8c
mov eax, dword [ebp - 0x18]
call fcn.0040fe58
mov edx, dword [ebp - 0x1040]
lea eax, [ebp - 0x18]
call fcn.0040460c
jmp 0x53cafd
mov edx, dword [ebp - 0x18]
mov eax, 0x53cd9c
call fcn.00404b88
test eax, eax
jle 0x53cafd
mov al, byte [0x53cd64]
push eax
lea eax, [ebp - 0x1044]
push eax
mov ecx, 0x53cdb0
mov edx, 0x53cd9c
mov eax, dword [ebp - 0x18]
call fcn.0040fe58
mov edx, dword [ebp - 0x1044]
lea eax, [ebp - 0x18]
call fcn.0040460c
push 0x53cdc4
push dword [ebp - 8]
push 0x53cdd4
push dword [ebp - 0x18]
lea eax, [ebp - 0x1048]
mov edx, 4
call fcn.00404904
mov edx, dword [ebp - 0x1048]
mov eax, dword [ebp - 4]
call fcn.0053c0b8
cmp dword [ebp - 8], 0
je 0x53cb4f
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.00409418
test al, al
jne 0x53cb4f
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
call fcn.00409418
test al, al
je 0x53cb64
cmp dword [ebp + 0xc], 0
jne 0x53cb64
xor eax, eax
mov dword [ebp - 0x10], eax
call fcn.00403f9c
jmp 0x53cc7a
mov eax, dword [ebp - 0x24]
call fcn.0053add8
mov esi, eax
test esi, esi
jne 0x53cb81
call fcn.00403f9c
call fcn.00403f9c
jmp 0x53cca5
push 0x53cde4
mov eax, esi
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x1050]
mov eax, 8
call fcn.00409a78
push dword [ebp - 0x1050]
push 0x53cdf8
lea edx, [ebp - 0x1054]
mov al, byte [ebp + 8]
call fcn.0053bcd8
push dword [ebp - 0x1054]
lea eax, [ebp - 0x104c]
mov edx, 4
call fcn.00404904
mov edx, dword [ebp - 0x104c]
mov eax, dword [ebp - 4]
call fcn.0053c0b8
xor eax, eax
mov al, byte [ebp + 8]
cmp eax, 5
ja case.default.0x53cbe3
jmp dword [eax*4 + 0x53cbea]
cmp esi, dword [ebp + 0xc]
jae case.default.0x53cbe3
xor eax, eax
mov dword [ebp - 0x10], eax
jmp case.default.0x53cbe3
cmp esi, dword [ebp + 0xc]
ja case.default.0x53cbe3
xor eax, eax
mov dword [ebp - 0x10], eax
jmp case.default.0x53cbe3
cmp esi, dword [ebp + 0xc]
jne case.default.0x53cbe3
xor eax, eax
mov dword [ebp - 0x10], eax
jmp case.default.0x53cbe3
cmp esi, dword [ebp + 0xc]
jbe case.default.0x53cbe3
xor eax, eax
mov dword [ebp - 0x10], eax
jmp case.default.0x53cbe3
cmp esi, dword [ebp + 0xc]
jb case.default.0x53cbe3
xor eax, eax
mov dword [ebp - 0x10], eax
jmp case.default.0x53cbe3
cmp esi, dword [ebp + 0xc]
je case.default.0x53cbe3
xor eax, eax
mov dword [ebp - 0x10], eax
call fcn.00403f9c
jmp 0x53cc7a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53cc6d
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll_CloseHandle
ret
add dword [ebp - 0x2c], 4
dec dword [ebp - 0x28]
jne 0x53c986
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53cc99
ret
push 0x53ce08
call sub.kernel32.dll_OutputDebugStringA
xor edx, edx
mov eax, 0x53cd2c
call fcn.004f77ac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53ccec
lea eax, [ebp - 0x1054]
mov edx, 0xa
call fcn.00404598
lea eax, [ebp - 0x24]
call fcn.00404574
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00404598
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404598
ret