Function at 0x4fc540
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x82c
mov eax, dword [0x5923b4]
xor eax, esp
mov dword [esp + 0x828], eax
mov ecx, dword [esp + 0x834]
mov eax, dword [esp + 0x838]
push ebx
mov ebx, dword [ecx + eax*4]
lea eax, [ecx + eax*4]
push ebp
mov ebp, dword [eax + 4]
push esi
mov esi, dword [esp + 0x83c]
push edi
push 0x409
mov dword [esp + 0x1c], eax
xor edi, edi
lea eax, [esp + 0x431]
mov dword [esp + 0x18], ebx
push edi
push eax
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x438], 0
call fcn.0042a640
push 0x409
lea eax, [esp + 0x31]
mov byte [esp + 0x30], 0
push edi
push eax
call fcn.0042a640
add esp, 0x18
test ebx, ebx
je case.0x4fc621.3
test ebp, ebp
je case.0x4fc621.3
mov edx, dword [ebx + 0x404]
mov dword [esp + 0x1c], edx
test edx, edx
je case.0x4fc621.3
mov ebp, dword [ebp + 0x404]
test ebp, ebp
je case.0x4fc621.3
movzx eax, word [ebp + 2]
movzx ecx, word [edx + 2]
cmp ax, cx
jl 0x4fc634
jne case.0x4fc621.3
movsx eax, cx
cmp eax, 0x12d
jg 0x4fc750
je case.0x4fc621.81
dec eax
cmp eax, 0xcc
ja case.0x4fc621.3
movzx eax, byte [eax + 0x4fc8ec]
jmp dword [eax*4 + 0x4fc8cc]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 8]
jge case.0x4fc621.3
mov eax, dword [esp + 0x18]
mov edi, 1
mov ebp, dword [esp + 0x10]
mov dword [eax], ebp
mov dword [eax + 4], ebx
jmp case.0x4fc621.3
xor eax, eax
lea esi, [edx + 8]
mov cl, byte [esi + eax]
mov dl, byte [eax + ebp + 8]
cmp cl, dl
jb case.0x4fc621.3
ja 0x4fc634
inc eax
cmp eax, 6
jl 0x4fc650
jmp case.0x4fc621.3
cmp cx, 0x18
jne 0x4fc67b
mov ebx, 1
xor ecx, ecx
jmp 0x4fc691
xor ebx, ebx
cmp cx, 0x19
setne bl
xor ecx, ecx
add ebx, 2
test ebx, ebx
jle case.0x4fc621.3
mov eax, 8
mov edx, dword [eax + edx]
mov esi, dword [eax + ebp]
cmp edx, esi
jb case.0x4fc621.3
ja 0x4fc6b7
mov edx, dword [esp + 0x1c]
inc ecx
add eax, 4
cmp ecx, ebx
jl 0x4fc696
jmp case.0x4fc621.3
mov eax, dword [esp + 0x18]
mov edi, 1
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov dword [eax], ebp
mov dword [eax + 4], ebx
jmp case.0x4fc621.3
lea eax, [ebp + 8]
push eax
call fcn.004f8d50
mov esi, eax
mov eax, dword [ebx + 0x404]
add eax, 8
push eax
call fcn.004f8d50
add esp, 8
cmp esi, eax
jge case.0x4fc621.3
mov eax, dword [esp + 0x18]
mov edi, 1
mov ebp, dword [esp + 0x10]
mov dword [eax], ebp
mov dword [eax + 4], ebx
jmp case.0x4fc621.3
push 0
push ebp
call fcn.004f1660
add esp, 4
push eax
push dword [ebx + 0x404]
call fcn.004f1660
add esp, 4
push eax
call fcn.00414c70
add esp, 0xc
test eax, eax
jle case.0x4fc621.3
mov eax, dword [esp + 0x18]
mov edi, 1
mov ebp, dword [esp + 0x10]
mov dword [eax], ebp
mov dword [eax + 4], ebx
jmp case.0x4fc621.3
cmp eax, 0x1f5
jl case.0x4fc621.3
cmp eax, 0x1f7
jle case.0x4fc621.81
cmp eax, 0x3e8
jne case.0x4fc621.3
mov eax, dword [esi + 0xd4]
push 0
test dword [eax + 0x10e8], 0x4000
jne 0x4fc7f9
lea eax, [edx + 8]
push eax
lea eax, [esp + 0x434]
push eax
call fcn.00414d90
mov ebp, dword [esp + 0x1c]
push 0
mov eax, dword [ebp + 0x404]
add eax, 8
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00414d90
lea eax, [esp + 0x444]
push eax
call fcn.004e3d10
lea eax, [esp + 0x3c]
push eax
call fcn.004e3d10
push 0
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x454]
push eax
call fcn.00414c70
add esp, 0x2c
test eax, eax
jle case.0x4fc621.3
mov eax, dword [esp + 0x18]
mov edi, 1
mov dword [eax], ebp
mov dword [eax + 4], ebx
jmp case.0x4fc621.3
lea eax, [ebp + 8]
push eax
lea eax, [edx + 8]
push eax
call fcn.00414c70
add esp, 0xc
test eax, eax
jle case.0x4fc621.3
mov eax, dword [esp + 0x18]
mov edi, 1
mov ebp, dword [esp + 0x10]
mov dword [eax], ebp
mov dword [eax + 4], ebx
jmp case.0x4fc621.3
push 0x409
push edx
push esi
call fcn.004cff00
add esp, 8
push eax
lea eax, [esp + 0x434]
push eax
call fcn.004cfc90
mov ebp, dword [esp + 0x1c]
add esp, 0xc
push 0x409
push dword [ebp + 0x404]
push esi
call fcn.004cff00
add esp, 8
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004cfc90
lea eax, [esp + 0x438]
push eax
call fcn.004e3d10
lea eax, [esp + 0x30]
push eax
call fcn.004e3d10
push 0
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x448]
push eax
call fcn.00414c70
add esp, 0x20
test eax, eax
jle 0x4fc8ad
mov eax, dword [esp + 0x18]
mov edi, 1
mov dword [eax], ebp
mov dword [eax + 4], ebx
jmp case.0x4fc621.3
xor edi, edi
mov ecx, dword [esp + 0x838]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00424604
add esp, 0x82c
ret