Function at 0x54d47c
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x15
push 0
push 0
dec ecx
jne 0x54d485
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 8]
call fcn.00404690
mov eax, dword [ebp - 0xc]
call fcn.00404690
mov eax, dword [ebp + 0xc]
call fcn.00404690
xor eax, eax
push ebp
push 0x54d9b0
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0040966c
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x14]
call fcn.0040877c
lea edx, [ebp - 0x30]
mov eax, dword [ebp + 0xc]
call fcn.0040966c
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x18]
call fcn.0040877c
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp + 0xc]
call fcn.004044a0
mov edx, eax
mov ecx, 1
mov eax, dword [ebp + 0xc]
call fcn.00404700
mov eax, dword [ebp - 0x34]
mov edx, 0x54d9c8
call fcn.004045ec
jne 0x54d531
mov eax, dword [ebp + 0xc]
call fcn.004044a0
mov edx, eax
lea eax, [ebp + 0xc]
mov ecx, 1
call fcn.00404740
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0xc]
call fcn.0040877c
mov eax, dword [ebp - 0x38]
push eax
lea edx, [ebp - 0x40]
mov eax, dword [ebp + 0xc]
call fcn.0040888c
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.0040877c
mov eax, dword [ebp - 0x3c]
pop edx
call fcn.004047e4
test eax, eax
jg 0x54d576
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
call fcn.004047e4
test eax, eax
jle 0x54d963
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 0xc]
call fcn.004095b0
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.004087b0
mov edx, dword [ebp - 0x44]
mov eax, 0x54d9d4
call fcn.004047e4
test eax, eax
jle 0x54d5b9
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0xc]
call fcn.0040888c
mov eax, dword [ebp - 0x4c]
call fcn.004046a0
mov edx, eax
mov eax, esi
call fcn.00543038
mov eax, ebx
call fcn.00493c50
mov esi, eax
mov edx, esi
mov eax, ebx
call fcn.00493c64
add eax, 0x20
mov edx, dword [ebp - 8]
call fcn.00404234
mov edx, esi
mov eax, ebx
call fcn.00493c64
add eax, 0x24
push eax
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0xc]
call fcn.004095b0
mov edx, dword [ebp - 0x50]
pop eax
call fcn.00404234
mov edx, esi
mov eax, ebx
call fcn.00493c64
add eax, 0x28
mov edx, dword [ebp - 0xc]
call fcn.00404234
mov edx, esi
mov eax, ebx
call fcn.00493c64
add eax, 0x1c
mov edx, 0x54d9e4
call fcn.00404234
xor eax, eax
push ebp
push 0x54d651
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0xc]
call fcn.0040966c
mov eax, dword [ebp - 0x54]
mov edx, 0x20
call fcn.004092bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54d65b
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0xc]
call fcn.004095b0
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.004087b0
mov edx, dword [ebp - 0x58]
mov eax, 0x54d9f0
call fcn.004047e4
test eax, eax
jle 0x54d76d
lea edx, [ebp - 0x60]
mov eax, dword [0xbce4fc]
call fcn.0040888c
cmp dword [ebp - 0x60], 0
jne 0x54d6be
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0xc]
call fcn.004095b0
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x64]
call fcn.004087b0
mov edx, dword [ebp - 0x64]
mov eax, 0xbce4fc
call fcn.00404234
jmp 0x54d6f1
push dword [0xbce4fc]
push 0x54da00
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 0xc]
call fcn.004095b0
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x6c]
call fcn.004087b0
push dword [ebp - 0x6c]
mov eax, 0xbce4fc
mov edx, 3
call fcn.00404560
mov cl, 1
mov edx, 0x54da0c
mov eax, dword [ebp - 0x1c]
call fcn.00542b70
xor eax, eax
push ebp
push 0x54d72e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x74]
mov eax, dword [ebp - 0xc]
call fcn.004095b0
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 4]
call fcn.00544030
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54d738
xor eax, eax
push ebp
push 0x54d763
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
call fcn.004095b0
mov eax, dword [ebp - 0x78]
call fcn.0053b754
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54d76d
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 0xc]
call fcn.004095b0
mov eax, dword [ebp - 0x80]
lea edx, [ebp - 0x7c]
call fcn.004087b0
mov edx, dword [ebp - 0x7c]
mov eax, 0x54da28
call fcn.004047e4
test eax, eax
jle 0x54d963
mov eax, dword [0xbce50c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x54d963
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.004095b0
lea ecx, [ebp - 0x88]
mov edx, dword [ebp - 0x10]
mov eax, dword [0xbce50c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 0x84]
call fcn.0040863c
mov eax, dword [ebp - 0x84]
push eax
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 0x20]
call fcn.0040863c
mov eax, dword [ebp - 0x8c]
pop edx
call fcn.004047e4
test eax, eax
jle 0x54d957
lea ecx, [ebp - 0x90]
mov edx, dword [ebp - 0x10]
mov eax, dword [0xbce50c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x90]
mov eax, 0x54da38
call fcn.004047e4
mov ebx, eax
lea ecx, [ebp - 0x94]
mov edx, dword [ebp - 0x10]
mov eax, dword [0xbce50c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov edx, dword [ebp - 0x94]
mov eax, 0x54da44
call fcn.004047e4
mov esi, eax
test ebx, ebx
jle 0x54d88a
cmp ebx, esi
jge 0x54d88a
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x98]
mov edx, dword [ebp - 0x10]
mov eax, dword [0xbce50c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x98]
mov ecx, esi
sub ecx, ebx
dec ecx
lea edx, [ebx + 1]
call fcn.00404700
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 0x24]
call fcn.0040888c
cmp dword [ebp - 0x9c], 0
je 0x54d957
lea edx, [ebp - 0xa0]
mov eax, 0x54da50
call fcn.004087b0
mov eax, dword [ebp - 0xa0]
push eax
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x24]
call fcn.004095b0
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0xa4]
call fcn.004087b0
mov eax, dword [ebp - 0xa4]
pop edx
call fcn.004047e4
test eax, eax
jne 0x54d957
xor eax, eax
push ebp
push 0x54d912
push dword fs:[eax]
mov dword fs:[eax], esp
mov cl, 1
mov edx, 0x54da0c
mov eax, dword [ebp - 0x1c]
call fcn.00542b70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54d91c
xor eax, eax
push ebp
push 0x54d94d
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x24]
call fcn.004095b0
mov eax, dword [ebp - 0xac]
call fcn.0053b754
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54d957
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x54d7b6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54d9b7
lea eax, [ebp - 0xac]
mov edx, 0x21
call fcn.00404204
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.00404204
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00404204
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404204
lea eax, [ebp + 0xc]
call fcn.004041e0
ret