Function at 0x4bb474
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff94
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4bcb56
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x60], eax
xor eax, eax
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x3d], 1
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
add eax, dword [0x5bfd20]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0xc]
jge 0x4bcb2b
cmp byte [0x5bb9b0], 0
jne 0x4bcb33
mov byte [ebp - 0x2d], 0
mov esi, dword [ebp - 0x34]
add esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x28]
mov edx, 8
mov eax, esi
call fcn.0040746c
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5bfd14]
jne 0x4bb5dd
push dword [ebp - 0x28]
push 0x4bcb70
push 0x4bcb7c
lea eax, [ebp - 0x6c]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0x6c]
mov ecx, esi
mov eax, dword [ebp - 8]
call fcn.004db54c
push 0
push 0x4bcb7c
mov eax, dword [0x5bfd68]
mov eax, dword [eax + 0x10]
push eax
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [0x5bb9e8]
mov edx, dword [0x5bb9e4]
mov eax, dword [ebp - 8]
call fcn.004b7c98
xor ecx, ecx
mov edx, 0x4bcb90
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0x38]
xor ecx, ecx
mov edx, 0x4bcb9c
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0x38]
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x14]
add eax, dword [0x5bfd20]
mov edx, 8
call fcn.0040746c
mov edx, dword [ebp - 0x6c]
mov eax, 0x5bfdd0
call fcn.00403a64
mov eax, dword [0x5bfd64]
mov eax, dword [eax + 0x10]
inc eax
mov dword [0x5bfdcc], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0x10]
jge 0x4bca5e
xor ebx, ebx
mov eax, dword [0x5bfd8c]
cmp dword [eax + 8], 0
je 0x4bb63f
lea ecx, [ebp - 0x48]
mov edx, esi
mov eax, dword [0x5bfd8c]
call fcn.004bb410
mov edi, eax
inc edi
je 0x4bb63f
mov bl, 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx]
mov byte [ebp - 0x1d], al
push dword [0x5bbaf4]
xor eax, eax
mov al, byte [ebp - 0x1d]
push dword [eax*4 + 0x5bb5a4]
push 0x4bcba8
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
inc dword [ebp - 0x14]
mov byte [ebp - 0x40], 0
mov eax, dword [0x5bfd90]
call fcn.0043a69c
test eax, eax
je 0x4bb68a
test bl, bl
jne 0x4bb68a
lea ecx, [ebp - 0x4c]
mov edx, esi
mov eax, dword [0x5bfd90]
call fcn.0043a63c
mov edi, eax
cmp edi, 0xffffffff
je 0x4bb68a
mov byte [ebp - 0x40], 1
xor eax, eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x1c]
mov edx, edi
mov eax, esi
call fcn.004bb248
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
mov byte [ebp - 0x41], 0
mov eax, dword [0x5bfd94]
call fcn.0043a69c
test eax, eax
je 0x4bb6be
test bl, bl
jne 0x4bb6be
cmp byte [ebp - 0x40], 0
jne 0x4bb6be
lea ecx, [ebp - 0x50]
mov edx, esi
mov eax, dword [0x5bfd94]
call fcn.0043a63c
mov edi, eax
inc edi
je 0x4bb6be
mov byte [ebp - 0x41], 1
mov byte [ebp - 0x3f], 0
mov eax, dword [0x5bfd88]
cmp dword [eax + 8], 0
je 0x4bb732
test bl, bl
jne 0x4bb732
cmp byte [ebp - 0x40], 0
jne 0x4bb732
cmp byte [ebp - 0x41], 0
jne 0x4bb732
lea ecx, [ebp - 0x54]
mov edx, esi
mov eax, dword [0x5bfd88]
call fcn.004bb410
mov edi, eax
inc edi
je 0x4bb732
mov byte [ebp - 0x3f], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
push dword [0x5bbaf8]
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.0040746c
push dword [ebp - 0x6c]
push 0x4bcba8
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
add dword [ebp - 0x14], 2
mov byte [ebp - 0x3e], 0
mov eax, dword [0x5bfd80]
cmp dword [eax + 8], 0
je 0x4bb82c
test bl, bl
jne 0x4bb82c
cmp byte [ebp - 0x40], 0
jne 0x4bb82c
cmp byte [ebp - 0x41], 0
jne 0x4bb82c
cmp byte [ebp - 0x3f], 0
jne 0x4bb82c
lea ecx, [ebp - 0x58]
mov edx, esi
mov eax, dword [0x5bfd80]
call fcn.004bb410
mov edi, eax
inc edi
je 0x4bb82c
mov byte [ebp - 0x3e], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x5c]
mov edx, esi
mov eax, dword [0x5bfd84]
call fcn.004bb410
mov edi, eax
lea ecx, [ebp - 0x24]
mov edx, 8
mov eax, dword [ebp - 0x38]
call fcn.0040746c
inc edi
je 0x4bb80d
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5bfdf4]
jl 0x4bb7ce
cmp eax, dword [0x5bfdf8]
jle 0x4bb7f8
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004db618
push dword [0x5bbafc]
push 0x4bcbb4
push dword [ebp - 0x24]
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
jmp 0x4bb828
lea eax, [ebp - 0x24]
mov ecx, 0x4bcbc0
mov edx, dword [0x5bbafc]
call fcn.00403cd8
jmp 0x4bb828
push dword [0x5bbafc]
push dword [ebp - 0x24]
push 0x4bcba8
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
add dword [ebp - 0x14], 4
mov byte [ebp - 0x42], 0
mov eax, dword [0x5bfd98]
cmp dword [eax + 8], 0
je 0x4bb895
test bl, bl
jne 0x4bb895
cmp byte [ebp - 0x40], 0
jne 0x4bb895
cmp byte [ebp - 0x41], 0
jne 0x4bb895
cmp byte [ebp - 0x3f], 0
jne 0x4bb895
cmp byte [ebp - 0x3e], 0
jne 0x4bb895
lea ecx, [ebp - 0x60]
mov edx, esi
mov eax, dword [0x5bfd98]
call fcn.004bb410
mov edi, eax
inc edi
je 0x4bb895
mov byte [ebp - 0x42], 1
xor eax, eax
mov dword [ebp - 0x1c], eax
push ebp
lea ecx, [ebp - 0x6c]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
call fcn.004bb110
pop ecx
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
call fcn.00403aa8
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
mov byte [ebp - 0x43], 0
mov eax, dword [0x5bfd9c]
cmp dword [eax + 8], 0
je 0x4bb904
test bl, bl
jne 0x4bb904
cmp byte [ebp - 0x40], 0
jne 0x4bb904
cmp byte [ebp - 0x41], 0
jne 0x4bb904
cmp byte [ebp - 0x3f], 0
jne 0x4bb904
cmp byte [ebp - 0x3e], 0
jne 0x4bb904
cmp byte [ebp - 0x42], 0
jne 0x4bb904
lea ecx, [ebp - 0x64]
mov edx, esi
mov eax, dword [0x5bfd9c]
call fcn.004bb410
mov edi, eax
inc edi
je 0x4bb904
mov byte [ebp - 0x43], 1
xor eax, eax
mov dword [ebp - 0x1c], eax
push ebp
lea ecx, [ebp - 0x6c]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
call fcn.004bb1ac
pop ecx
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
call fcn.00403aa8
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
mov byte [ebp - 0x44], 0
mov eax, dword [0x5bfda0]
cmp dword [eax + 8], 0
je 0x4bbb42
test bl, bl
jne 0x4bbb42
cmp byte [ebp - 0x40], 0
jne 0x4bbb42
cmp byte [ebp - 0x41], 0
jne 0x4bbb42
cmp byte [ebp - 0x3f], 0
jne 0x4bbb42
cmp byte [ebp - 0x3e], 0
jne 0x4bbb42
cmp byte [ebp - 0x42], 0
jne 0x4bbb42
cmp byte [ebp - 0x43], 0
jne 0x4bbb42
lea ecx, [ebp - 0x68]
mov edx, esi
mov eax, dword [0x5bfda0]
call fcn.004bb410
mov edi, eax
inc edi
je 0x4bbb42
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x1c], 0x10
push dword [0x5bbaf0]
push 0x4bcbcc
push 0x4bcbd8
push 0x4bcbe4
lea eax, [ebp - 0x24]
mov edx, 4
call fcn.00403d4c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x6c]
mov edx, 8
mov eax, dword [ebp - 0x38]
call fcn.0040746c
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
call fcn.00403c94
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 4]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
push dword [ebp - 0x24]
push 0x4bcbf0
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.0040746c
push dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 6]
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
push dword [ebp - 0x24]
push 0x4bcbf0
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.0040746c
push dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
movzx eax, byte [eax + edx + 9]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [edx + ecx + 8]
shl edx, 8
add eax, edx
mov dword [ebp - 0x38], eax
push dword [ebp - 0x24]
push 0x4bcbf0
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.0040746c
push dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
movzx eax, byte [eax + edx + 0xb]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [edx + ecx + 0xa]
shl edx, 8
add eax, edx
mov dword [ebp - 0x38], eax
push dword [ebp - 0x24]
push 0x4bcbf0
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.0040746c
push dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
movzx eax, byte [eax + edx + 0xf]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [edx + ecx + 0xe]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [edx + ecx + 0xd]
shl edx, 0x10
add eax, edx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [edx + ecx + 0xc]
shl edx, 0x18
add eax, edx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x6c]
mov edx, 8
mov eax, dword [ebp - 0x38]
call fcn.0040746c
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
call fcn.00403c94
push dword [ebp - 0x24]
push 0x4bcbfc
push 0x4bcbd8
push 0x4bcc08
lea eax, [ebp - 0x24]
mov edx, 4
call fcn.00403d4c
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
test bl, bl
jne 0x4bcac1
cmp byte [ebp - 0x40], 0
jne 0x4bcac1
cmp byte [ebp - 0x41], 0
jne 0x4bcac1
cmp byte [ebp - 0x3f], 0
jne 0x4bcac1
cmp byte [ebp - 0x3e], 0
jne 0x4bcac1
cmp byte [ebp - 0x42], 0
jne 0x4bcac1
cmp byte [ebp - 0x43], 0
jne 0x4bcac1
cmp byte [ebp - 0x44], 0
jne 0x4bcac1
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5bfde4]
jl 0x4bbba6
cmp eax, dword [0x5bfde8]
jle 0x4bbbbc
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x14]
cmp edx, dword [0x5bfdec]
jl 0x4bbbc0
cmp edx, dword [0x5bfdf0]
jg 0x4bbbc0
xor eax, eax
jmp 0x4bbbc2
mov al, 1
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x4bca59
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5bfdf4]
jl 0x4bbc23
cmp eax, dword [0x5bfdf8]
jg 0x4bbc23
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
cmp dword [eax], 0
jne 0x4bbc07
lea eax, [ebp - 0x24]
mov ecx, 0x4bcc14
mov edx, dword [0x5bbafc]
call fcn.00403cd8
jmp 0x4bbc1a
lea eax, [ebp - 0x24]
mov ecx, 0x4bcbc0
mov edx, dword [0x5bbafc]
call fcn.00403cd8
add dword [ebp - 0x14], 4
jmp 0x4bcac1
push ebp
lea ecx, [ebp - 0x6c]
lea edx, [ebp - 0x3c]
lea eax, [ebp - 0x14]
call fcn.004bb354
pop ecx
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
call fcn.00403aa8
cmp dword [ebp - 0x24], 0
jne 0x4bca28
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx]
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x38], esi
cmp byte [ebp + 8], 0
je 0x4bca0c
xor eax, eax
mov al, byte [ebp - 0x1d]
cmp eax, 0x64
jg 0x4bbca4
je 0x4bc4d9
cmp eax, 0x53
jg 0x4bbc8f
je 0x4bc159
sub eax, 0x31
je 0x4bc90c
sub eax, 2
je 0x4bbce4
jmp 0x4bca0c
sub eax, 0x55
je 0x4bc074
dec eax
je 0x4bc39d
jmp 0x4bca0c
cmp eax, 0x83
jg 0x4bbcc8
je 0x4bc715
sub eax, 0x6a
je 0x4bc5f0
sub eax, 0x17
je 0x4bc715
jmp 0x4bca0c
add eax, 0xffffff60
sub eax, 4
jb 0x4bc988
sub eax, 0x5b
je 0x4bc810
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc0
jne 0x4bbd1c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x30
jne 0x4bbd1c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x20
je 0x4bbdc8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xd2
jne 0x4bbd47
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x32
jne 0x4bbd47
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x22
je 0x4bbdc8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc9
jne 0x4bbd6e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x31
jne 0x4bbd6e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x21
je 0x4bbdc8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xf6
jne 0x4bbd95
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x36
jne 0x4bbd95
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x26
je 0x4bbdc8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xff
jne 0x4bbf3c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x37
jne 0x4bbf3c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x27
jne 0x4bbf3c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x55
jne 0x4bbf3c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x68
jne 0x4bbf3c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 8], 0x64
jne 0x4bbf3c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 9], 0xff
jne 0x4bbf3c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xb], 0x64
jne 0x4bbf3c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xc], 0x89
jne 0x4bbf3c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 4]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004bcc34
test al, al
je 0x4bca0c
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004c795c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
cmp byte [edx + eax], 0xe9
jne 0x4bca0c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x33
jb 0x4bca0c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x90
je 0x4bca0c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0xcc
je 0x4bca0c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x8d
je 0x4bca0c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 6], 0x40
je 0x4bca0c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 7], 0
je 0x4bca0c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x8b
je 0x4bca0c
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 6], 0xc0
je 0x4bca0c
mov edx, dword [ebp - 0x3c]
add edx, 5
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc0
jne 0x4bbfde
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x5a
jne 0x4bbfde
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x59
jne 0x4bbfde
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0x59
jne 0x4bbfde
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 5], 0x64
jne 0x4bbfde
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 6], 0x89
jne 0x4bbfde
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 7], 0x10
jne 0x4bbfde
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 8], 0x68
jne 0x4bbfde
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 9]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004bcc34
test al, al
je 0x4bca0c
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc0
jne 0x4bc031
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x5a
jne 0x4bc031
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x59
jne 0x4bc031
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0x59
jne 0x4bc031
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 5], 0x64
jne 0x4bc031
mov cl, 1
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c7538
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xd2
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x89
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x50
jne 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bb094
test al, al
jne 0x4bca0c
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bc098
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bc0cf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bc0cf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xec
jne 0x4bc0cf
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp byte [edx + ecx + 1], 0x8b
jne 0x4bca0c
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp byte [edx + ecx + 2], 0xec
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx + 3]
cmp al, 0x33
je 0x4bc149
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0xb8
je 0x4bc149
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x51
je 0x4bc149
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x53
je 0x4bc149
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x56
je 0x4bc149
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x81
je 0x4bc149
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x83
je 0x4bc149
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x8b
jne 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bb094
test al, al
jne 0x4bca0c
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bc17d
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x56
jne 0x4bc1b8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x57
jne 0x4bc1b8
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bc1ef
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x5c
jne 0x4bc1ef
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x24
jne 0x4bc1ef
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x55
jne 0x4bc226
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x56
jne 0x4bc226
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x57
jne 0x4bc226
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x55
jne 0x4bc25d
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x56
jne 0x4bc25d
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4bc25d
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bc2a4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xa1
jne 0x4bc2a4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
push ebp
mov eax, dword [ebp - 0x3c]
call fcn.004bb320
pop ecx
test al, al
je 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bc2f8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bc2f8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xa1
jne 0x4bc2f8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 4]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
push ebp
mov eax, dword [ebp - 0x3c]
call fcn.004bb320
pop ecx
test al, al
je 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bc32b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bc32b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xd8
jne 0x4bc32b
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bc35e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bc35e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4bc35e
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x56
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x8b
jne 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bb094
test al, al
jne 0x4bca0c
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bc3c1
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bc405
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bc405
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x74
jne 0x4bc405
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x24
jne 0x4bc405
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
jne 0x4bc445
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bc445
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xf1
jne 0x4bc445
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xe8
jne 0x4bc445
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bc478
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bc478
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4bc478
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xf0
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x33
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0xc0
jne 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bb094
test al, al
jne 0x4bca0c
cmp byte [0x5bb9d0], 0
jne 0x4bca0c
mov eax, dword [0x5be450]
cmp byte [eax], 0
jne 0x4bca0c
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bc518
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xa1
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 5], 0
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 6], 0x6a
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 7], 0xff
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 8], 0x68
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 9]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004bcc34
test al, al
je 0x4bca0c
mov cl, 1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004c7538
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bb094
test al, al
jne 0x4bca0c
cmp byte [0x5bbaa0], 0
je 0x4bc6ab
cmp byte [0x5bb9d0], 0
jne 0x4bc6ab
mov eax, dword [0x5be450]
cmp byte [eax], 0
jne 0x4bc6ab
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bc638
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bc6ab
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xff
jne 0x4bc6ab
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x68
jne 0x4bc6ab
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 3]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004bcc34
test al, al
je 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 7], 0x64
jne 0x4bc69b
mov cl, 1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004c7538
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bca0c
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bc6c2
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xb9
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 3]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
push ebp
mov eax, dword [ebp - 0x3c]
call fcn.004bb320
pop ecx
test al, al
je 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bc71f
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bc7b7
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xec
jne 0x4bc7b7
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0
je 0x4bc7b7
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx + 2]
and al, 0x7f
cmp al, 0x3f
ja 0x4bc7b7
cmp byte [ebp - 0x1d], 0x81
jne 0x4bc796
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
test dword [ebp - 0x3c], 0xffff0000
jne 0x4bca0c
test byte [ebp - 0x3c], 3
jne 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
test byte [eax + edx + 2], 3
jne 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bca0c
cmp byte [ebp - 0x1d], 0x83
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x2d
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
push ebp
mov eax, dword [ebp - 0x3c]
call fcn.004bb320
pop ecx
test al, al
je 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bba98], 0
je 0x4bc884
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x25
jne 0x4bc884
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004bccb0
test al, al
je 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [0x5bfda4]
call fcn.0040e220
mov edi, eax
inc edi
jne 0x4bc874
mov edx, dword [ebp - 0x38]
mov eax, dword [0x5bfda4]
call fcn.0040dfd0
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x5bfda8]
call fcn.0040dfd0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x35
jne 0x4bca0c
cmp dword [ebp - 0x14], 0
jle 0x4bc8b9
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0x66
jne 0x4bc8b9
mov edx, dword [ebp - 0x38]
dec edx
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004bccb0
test al, al
je 0x4bca0c
mov eax, 1
mov edx, dword [ebp - 0x38]
jmp 0x4bc8e7
dec edx
inc eax
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov ebx, dword [ebp - 4]
mov cl, byte [ebx + ecx]
and cl, 0xf8
cmp cl, 0x50
jne 0x4bc8ff
cmp eax, 4
jl 0x4bc8e5
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bb9d0], 0
je 0x4bca0c
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bc923
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc9
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x85
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xd2
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0x74
jne 0x4bca0c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
jmp 0x4bca0c
cmp byte [0x5bbaa0], 0
je 0x4bca0c
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bc99b
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bca0c
cmp byte [0x5bb9d0], 0
jne 0x4bca0c
cmp dword [ebp - 0x14], 0
je 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0x90
je 0x4bc9d1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0xcc
jne 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 1]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004bccb0
test al, al
je 0x4bca0c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx - 1]
cmp byte [eax], 0x66
jne 0x4bca01
dec dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c795c
inc dword [ebp - 0x14]
lea eax, [ebp - 0x24]
xor edx, edx
mov dl, byte [ebp - 0x1d]
mov edx, dword [edx*4 + 0x5bb5a4]
call fcn.00403aa8
jmp 0x4bcac1
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x5bfd68]
call fcn.0043bc9c
mov edi, eax
inc edi
jne 0x4bca47
mov cl, 1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004db618
lea eax, [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4bcbb4
call fcn.00403cd8
jmp 0x4bcac1
inc dword [ebp - 0x14]
jmp 0x4bcac1
mov eax, dword [0x5bfd64]
mov ebx, dword [eax + 0x10]
test ebx, ebx
jle 0x4bca9a
lea ecx, [ebp - 0x6c]
mov edx, ebx
dec edx
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6c]
mov edx, 0x4bcb90
call fcn.00403d9c
je 0x4bca9a
xor ecx, ecx
mov edx, 0x4bcb90
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0x38]
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp - 0x14]
mov edx, 8
call fcn.0040746c
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
mov ecx, 0x4bcc28
call fcn.00403cd8
mov byte [ebp - 0x2d], 1
cmp byte [ebp - 0x3d], 0
je 0x4bcae1
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
call fcn.00403aa8
mov ecx, esi
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0x38]
inc dword [ebp - 0x18]
inc dword [0x5bb9c4]
cmp dword [ebp - 0x18], 0x2710
jne 0x4bcb19
xor ecx, ecx
mov edx, dword [0x5bb9c4]
mov eax, dword [ebp - 8]
call fcn.004b8490
mov eax, dword [ebp - 8]
call fcn.004b8538
cmp byte [0x5bb9b0], 0
jne 0x4bcb33
xor eax, eax
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x2d], 0
jne 0x4bcb2b
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0xc]
jl 0x4bb4fa
mov eax, dword [ebp - 8]
call fcn.004b8538
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bcb5d
lea eax, [ebp - 0x6c]
call fcn.00403a10
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00403a34
ret