Function at 0x54c6a0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x55ca00
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x59a270]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x59a274], 0xa
setl cl
test cl, al
jne 0x54c6fb
xor cl, al
je 0x54c836
push eax
mov ebx, esp
mov edx, dword [0x59a278]
mov eax, dword [0x59a27c]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov esi, 0x23fe1808
mov edx, 0x68251d41
cmovne edx, esi
cmp ecx, 0xffffffff
sete byte [ebp - 0x1d]
cmovne esi, edx
cmp eax, 0xa
setl byte [ebp - 0x1e]
cmovge esi, edx
mov edi, 0xcc4993ef
nop dword [eax + eax]
cmp edi, 0x23fe1807
jg 0x54c780
cmp edi, 0xcc4993ef
je 0x54c7a8
cmp edi, 0xdd16f9da
jne 0x54c750
mov dword [ebp - 0x10], 0xffffffff
push 1
call fcn.0055d87a
add esp, 4
mov edi, esi
jmp 0x54c750
cmp edi, 0x23fe1808
je 0x54c7e1
cmp edi, 0x68251d41
jne 0x54c750
mov dword [ebp - 0x10], 0xffffffff
mov edi, 0xdd16f9da
push 1
call fcn.0055d87a
add esp, 4
jmp 0x54c750
movzx ecx, byte [ebp - 0x1d]
movzx edx, byte [ebp - 0x1e]
mov ch, cl
xor ch, dl
mov dword [ebp - 0x28], eax
mov eax, ebx
mov ebx, 0x68251d41
mov edi, 0xdd16f9da
cmovne ebx, edi
test dl, dl
mov edi, ebx
mov edx, 0xdd16f9da
cmovne edi, edx
test cl, cl
cmove edi, ebx
mov ebx, eax
mov eax, dword [ebp - 0x28]
jmp 0x54c750
mov dword [ebx], eax
mov edi, dword [ebp - 0x24]
lea esi, [edi + 4]
push esi
push 0
push eax
push 0x54c9f0
push 0
push 0
call fcn.005646f6
add esp, 0x18
mov dword [edi], eax
mov ecx, dword [0x59a270]
lea edx, [ecx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
setne cl
sete ch
cmp dword [0x59a274], 0xa
setge dl
setl dh
xor dh, ch
jne 0x54c92a
or dl, cl
je 0x54c92a
mov ecx, dword [0x59a278]
mov eax, dword [0x59a27c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
sete byte [ebp - 0x1d]
mov edx, 0x23fe1808
mov esi, 0x68251d41
mov edi, 0x68251d41
cmove edi, edx
cmp eax, 0xa
setl byte [ebp - 0x1e]
setl al
cmovge edi, esi
xor al, cl
cmovne edi, edx
mov esi, 0xcc4993ef
jmp 0x54c8b0
movzx ecx, byte [ebp - 0x1d]
movzx edx, byte [ebp - 0x1e]
mov ch, cl
xor ch, dl
mov ebx, 0x68251d41
mov esi, 0xdd16f9da
cmovne ebx, esi
test dl, dl
mov esi, ebx
mov edx, 0xdd16f9da
cmovne esi, edx
test cl, cl
cmove esi, ebx
nop word [eax + eax]
cmp esi, 0x23fe1807
jg 0x54c8e0
cmp esi, 0xcc4993ef
je 0x54c880
cmp esi, 0xdd16f9da
jne 0x54c8b0
mov dword [ebp - 0x10], 0xffffffff
push 1
call fcn.0055d87a
add esp, 4
mov esi, edi
jmp 0x54c8b0
cmp esi, 0x23fe1808
je 0x54c908
cmp esi, 0x68251d41
jne 0x54c8b0
mov dword [ebp - 0x10], 0xffffffff
mov esi, 0xdd16f9da
push 1
call fcn.0055d87a
add esp, 4
jmp 0x54c8b0
mov esi, dword [ebp - 0x24]
lea ecx, [esi + 4]
push ecx
push 0
push eax
push 0x54c9f0
push 0
push 0
call fcn.005646f6
add esp, 0x18
mov dword [esi], eax
jmp 0x54c6fb
test eax, eax
je 0x54c9b6
mov dword [ebx], 0
mov ecx, ebx
call fcn.0054ca70
mov eax, dword [0x59a270]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x59a274], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x54c9a5
or cl, al
je 0x54c9a5
nop dword [eax]
mov ecx, ebx
call fcn.0054ca70
mov ecx, ebx
call fcn.0054ca70
mov eax, dword [0x59a270]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x59a274], 0xa
setl cl
test cl, al
jne 0x54c9a5
xor cl, al
je 0x54c970
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x24], ebx
mov dword [esi], 0
mov dword [ebp - 0x10], 0
push 6
call fcn.0055e45a
add esp, 4
push ebp
sub esp, 0x18
add ebp, 0xc
mov ecx, dword [ebp - 0x24]
call fcn.0054ca70
add esp, 0x18
pop ebp
ret