Function at 0x4bd880
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4befcc
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], 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
xor eax, eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x584]
mov dword [ebp - 0x74], eax
mov byte [ebp - 0x45], 1
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x538]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0xc]
jge 0x4befa1
cmp byte [0x5c3afc], 0
jne 0x4befa9
mov byte [ebp - 0x31], 0
mov esi, dword [ebp - 0x38]
add esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x2c]
mov edx, 8
mov eax, esi
call fcn.00407490
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
cmp eax, dword [edx + 0x52c]
jne 0x4bd9fc
push dword [ebp - 0x2c]
push 0x4befe4
push 0x4beff0
lea eax, [ebp - 0x78]
mov edx, 3
call fcn.00403d4c
mov edx, dword [ebp - 0x78]
mov ecx, esi
mov eax, dword [ebp - 8]
call fcn.004de190
push 0
push 0x4beff0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x588]
mov eax, dword [eax + 0x10]
push eax
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [0x5c3b2c]
mov edx, dword [0x5c3b28]
mov eax, dword [ebp - 8]
call fcn.004b9f6c
xor ecx, ecx
mov edx, 0x4bf004
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax]
call dword [ebx + 0x38]
xor ecx, ecx
mov edx, 0x4bf010
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax]
call dword [ebx + 0x38]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
add eax, dword [edx + 0x538]
lea ecx, [ebp - 0x78]
mov edx, 8
call fcn.00407490
mov edx, dword [ebp - 0x78]
mov eax, 0x5c7d0c
call fcn.00403a64
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x10]
inc eax
mov dword [0x5c7d08], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0x10]
jge 0x4beed4
xor ebx, ebx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5ac]
cmp dword [eax + 8], 0
je 0x4bda5d
lea ecx, [ebp - 0x50]
mov edx, esi
call fcn.004bd81c
mov edi, eax
inc edi
je 0x4bda5d
mov bl, 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx]
mov byte [ebp - 0x21], al
push dword [0x5c3c38]
xor eax, eax
mov al, byte [ebp - 0x21]
push dword [eax*4 + 0x5c36f0]
push 0x4bf01c
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00403d4c
inc dword [ebp - 0x14]
mov byte [ebp - 0x48], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5b0]
call fcn.0043a6c0
test eax, eax
je 0x4bdabd
test bl, bl
jne 0x4bdabd
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5b0]
mov edx, esi
call fcn.0043a660
mov edi, eax
cmp edi, 0xffffffff
je 0x4bdabd
mov byte [ebp - 0x48], 1
xor eax, eax
mov dword [ebp - 0x1c], eax
push ebp
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x1c]
mov edx, edi
mov eax, esi
call fcn.004bd62c
pop ecx
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x28]
call fcn.00403aa8
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
mov byte [ebp - 0x49], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5b4]
call fcn.0043a6c0
test eax, eax
je 0x4bdaf9
test bl, bl
jne 0x4bdaf9
cmp byte [ebp - 0x48], 0
jne 0x4bdaf9
lea ecx, [ebp - 0x58]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5b4]
mov edx, esi
call fcn.0043a660
mov edi, eax
inc edi
je 0x4bdaf9
mov byte [ebp - 0x49], 1
mov byte [ebp - 0x47], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5a8]
cmp dword [eax + 8], 0
je 0x4bdb6c
test bl, bl
jne 0x4bdb6c
cmp byte [ebp - 0x48], 0
jne 0x4bdb6c
cmp byte [ebp - 0x49], 0
jne 0x4bdb6c
lea ecx, [ebp - 0x5c]
mov edx, esi
call fcn.004bd81c
mov edi, eax
inc edi
je 0x4bdb6c
mov byte [ebp - 0x47], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
push dword [0x5c3c3c]
lea ecx, [ebp - 0x78]
mov edx, 4
mov eax, dword [ebp - 0x3c]
call fcn.00407490
push dword [ebp - 0x78]
push 0x4bf01c
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00403d4c
add dword [ebp - 0x14], 2
mov byte [ebp - 0x46], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5a0]
cmp dword [eax + 8], 0
je 0x4bdc6f
test bl, bl
jne 0x4bdc6f
cmp byte [ebp - 0x48], 0
jne 0x4bdc6f
cmp byte [ebp - 0x49], 0
jne 0x4bdc6f
cmp byte [ebp - 0x47], 0
jne 0x4bdc6f
lea ecx, [ebp - 0x60]
mov edx, esi
call fcn.004bd81c
mov edi, eax
inc edi
je 0x4bdc6f
mov byte [ebp - 0x46], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x64]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5a4]
mov edx, esi
call fcn.004bd81c
mov edi, eax
lea ecx, [ebp - 0x28]
mov edx, 8
mov eax, dword [ebp - 0x3c]
call fcn.00407490
inc edi
je 0x4bdc50
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5c7d30]
jl 0x4bdc11
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5c7d34]
jle 0x4bdc3b
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004de268
push dword [0x5c3c40]
push 0x4bf028
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00403d4c
jmp 0x4bdc6b
lea eax, [ebp - 0x28]
mov ecx, 0x4bf034
mov edx, dword [0x5c3c40]
call fcn.00403cd8
jmp 0x4bdc6b
push dword [0x5c3c40]
push dword [ebp - 0x28]
push 0x4bf01c
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00403d4c
add dword [ebp - 0x14], 4
mov byte [ebp - 0x4a], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5b8]
cmp dword [eax + 8], 0
je 0x4bdcd7
test bl, bl
jne 0x4bdcd7
cmp byte [ebp - 0x48], 0
jne 0x4bdcd7
cmp byte [ebp - 0x49], 0
jne 0x4bdcd7
cmp byte [ebp - 0x47], 0
jne 0x4bdcd7
cmp byte [ebp - 0x46], 0
jne 0x4bdcd7
lea ecx, [ebp - 0x68]
mov edx, esi
call fcn.004bd81c
mov edi, eax
inc edi
je 0x4bdcd7
mov byte [ebp - 0x4a], 1
xor eax, eax
mov dword [ebp - 0x1c], eax
push ebp
lea ecx, [ebp - 0x78]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
call fcn.004bd4f4
pop ecx
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x28]
call fcn.00403aa8
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
mov byte [ebp - 0x4b], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5bc]
cmp dword [eax + 8], 0
je 0x4bdd45
test bl, bl
jne 0x4bdd45
cmp byte [ebp - 0x48], 0
jne 0x4bdd45
cmp byte [ebp - 0x49], 0
jne 0x4bdd45
cmp byte [ebp - 0x47], 0
jne 0x4bdd45
cmp byte [ebp - 0x46], 0
jne 0x4bdd45
cmp byte [ebp - 0x4a], 0
jne 0x4bdd45
lea ecx, [ebp - 0x6c]
mov edx, esi
call fcn.004bd81c
mov edi, eax
inc edi
je 0x4bdd45
mov byte [ebp - 0x4b], 1
xor eax, eax
mov dword [ebp - 0x1c], eax
push ebp
lea ecx, [ebp - 0x78]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
call fcn.004bd590
pop ecx
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x28]
call fcn.00403aa8
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
mov byte [ebp - 0x4c], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c0]
cmp dword [eax + 8], 0
je 0x4bdf82
test bl, bl
jne 0x4bdf82
cmp byte [ebp - 0x48], 0
jne 0x4bdf82
cmp byte [ebp - 0x49], 0
jne 0x4bdf82
cmp byte [ebp - 0x47], 0
jne 0x4bdf82
cmp byte [ebp - 0x46], 0
jne 0x4bdf82
cmp byte [ebp - 0x4a], 0
jne 0x4bdf82
cmp byte [ebp - 0x4b], 0
jne 0x4bdf82
lea ecx, [ebp - 0x70]
mov edx, esi
call fcn.004bd81c
mov edi, eax
inc edi
je 0x4bdf82
mov byte [ebp - 0x4c], 1
mov dword [ebp - 0x1c], 0x10
push dword [0x5c3c34]
push 0x4bf040
push 0x4bf04c
push 0x4bf058
lea eax, [ebp - 0x28]
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 - 0x3c], eax
lea ecx, [ebp - 0x78]
mov edx, 8
mov eax, dword [ebp - 0x3c]
call fcn.00407490
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x28]
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 - 0x3c], eax
push dword [ebp - 0x28]
push 0x4bf064
lea ecx, [ebp - 0x78]
mov edx, 4
mov eax, dword [ebp - 0x3c]
call fcn.00407490
push dword [ebp - 0x78]
lea eax, [ebp - 0x28]
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 - 0x3c], eax
push dword [ebp - 0x28]
push 0x4bf064
lea ecx, [ebp - 0x78]
mov edx, 4
mov eax, dword [ebp - 0x3c]
call fcn.00407490
push dword [ebp - 0x78]
lea eax, [ebp - 0x28]
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 - 0x3c], eax
push dword [ebp - 0x28]
push 0x4bf064
lea ecx, [ebp - 0x78]
mov edx, 4
mov eax, dword [ebp - 0x3c]
call fcn.00407490
push dword [ebp - 0x78]
lea eax, [ebp - 0x28]
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 - 0x3c], eax
push dword [ebp - 0x28]
push 0x4bf064
lea ecx, [ebp - 0x78]
mov edx, 4
mov eax, dword [ebp - 0x3c]
call fcn.00407490
push dword [ebp - 0x78]
lea eax, [ebp - 0x28]
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 - 0x3c], eax
lea ecx, [ebp - 0x78]
mov edx, 8
mov eax, dword [ebp - 0x3c]
call fcn.00407490
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x28]
call fcn.00403c94
push dword [ebp - 0x28]
push 0x4bf070
push 0x4bf04c
push 0x4bf07c
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.00403d4c
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
test bl, bl
jne 0x4bef31
cmp byte [ebp - 0x48], 0
jne 0x4bef31
cmp byte [ebp - 0x49], 0
jne 0x4bef31
cmp byte [ebp - 0x47], 0
jne 0x4bef31
cmp byte [ebp - 0x46], 0
jne 0x4bef31
cmp byte [ebp - 0x4a], 0
jne 0x4bef31
cmp byte [ebp - 0x4b], 0
jne 0x4bef31
cmp byte [ebp - 0x4c], 0
jne 0x4bef31
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5c7d20]
jl 0x4bdfe6
cmp eax, dword [0x5c7d24]
jle 0x4bdffc
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x14]
cmp edx, dword [0x5c7d28]
jl 0x4be000
cmp edx, dword [0x5c7d2c]
jg 0x4be000
xor eax, eax
jmp 0x4be002
mov al, 1
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x4beecf
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5c7d30]
jl 0x4be069
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5c7d34]
jg 0x4be069
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
cmp dword [eax], 0
jne 0x4be04d
lea eax, [ebp - 0x28]
mov ecx, 0x4bf088
mov edx, dword [0x5c3c40]
call fcn.00403cd8
jmp 0x4be060
lea eax, [ebp - 0x28]
mov ecx, 0x4bf034
mov edx, dword [0x5c3c40]
call fcn.00403cd8
add dword [ebp - 0x14], 4
jmp 0x4bef31
push ebp
lea ecx, [ebp - 0x78]
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x14]
call fcn.004bd740
pop ecx
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x28]
call fcn.00403aa8
cmp dword [ebp - 0x28], 0
jne 0x4bee9a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx]
mov byte [ebp - 0x21], al
mov dword [ebp - 0x3c], esi
cmp byte [ebp + 8], 0
je 0x4bee7e
xor eax, eax
mov al, byte [ebp - 0x21]
cmp eax, 0x64
jg 0x4be0ea
je 0x4be933
cmp eax, 0x53
jg 0x4be0d5
je 0x4be5b3
sub eax, 0x31
je 0x4bed7e
sub eax, 2
je 0x4be12a
jmp 0x4bee7e
sub eax, 0x55
je 0x4be4ba
dec eax
je 0x4be7f7
jmp 0x4bee7e
cmp eax, 0x83
jg 0x4be10e
je 0x4beb6f
sub eax, 0x6a
je 0x4bea4a
sub eax, 0x17
je 0x4beb6f
jmp 0x4bee7e
add eax, 0xffffff60
sub eax, 4
jb 0x4bedfa
sub eax, 0x5b
je 0x4bec6a
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc0
jne 0x4be162
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x30
jne 0x4be162
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x20
je 0x4be20e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xd2
jne 0x4be18d
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x32
jne 0x4be18d
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x22
je 0x4be20e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc9
jne 0x4be1b4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x31
jne 0x4be1b4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x21
je 0x4be20e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xf6
jne 0x4be1db
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x36
jne 0x4be1db
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x26
je 0x4be20e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xff
jne 0x4be382
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x37
jne 0x4be382
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x27
jne 0x4be382
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x55
jne 0x4be382
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x68
jne 0x4be382
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 8], 0x64
jne 0x4be382
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 9], 0xff
jne 0x4be382
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xb], 0x64
jne 0x4be382
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xc], 0x89
jne 0x4be382
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 4]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004bf0a8
test al, al
je 0x4bee7e
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004ca544
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
cmp byte [edx + eax], 0xe9
jne 0x4bee7e
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x33
jb 0x4bee7e
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x90
je 0x4bee7e
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0xcc
je 0x4bee7e
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x8d
je 0x4bee7e
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 6], 0x40
je 0x4bee7e
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 7], 0
je 0x4bee7e
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x8b
je 0x4bee7e
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 6], 0xc0
je 0x4bee7e
mov edx, dword [ebp - 0x44]
add edx, 5
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc0
jne 0x4be424
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x5a
jne 0x4be424
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x59
jne 0x4be424
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0x59
jne 0x4be424
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 5], 0x64
jne 0x4be424
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 6], 0x89
jne 0x4be424
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 7], 0x10
jne 0x4be424
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 8], 0x68
jne 0x4be424
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 9]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004bf0a8
test al, al
je 0x4bee7e
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc0
jne 0x4be477
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x5a
jne 0x4be477
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x59
jne 0x4be477
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0x59
jne 0x4be477
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 5], 0x64
jne 0x4be477
mov cl, 1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca110
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xd2
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x89
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x50
jne 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bd478
test al, al
jne 0x4bee7e
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x4be4de
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x3c]
sub edx, eax
jne 0x4be515
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4be515
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xec
jne 0x4be515
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xec
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x33
je 0x4be5a3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xb8
je 0x4be5a3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x51
je 0x4be5a3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x53
je 0x4be5a3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x56
je 0x4be5a3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x81
je 0x4be5a3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x83
je 0x4be5a3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bd478
test al, al
jne 0x4bee7e
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x4be5d7
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x3c]
sub edx, eax
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x56
jne 0x4be612
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x57
jne 0x4be612
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4be649
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x5c
jne 0x4be649
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x24
jne 0x4be649
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x55
jne 0x4be680
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x56
jne 0x4be680
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x57
jne 0x4be680
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x55
jne 0x4be6b7
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x56
jne 0x4be6b7
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4be6b7
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4be6fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xa1
jne 0x4be6fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
push ebp
mov eax, dword [ebp - 0x44]
call fcn.004bd70c
pop ecx
test al, al
je 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4be752
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4be752
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xa1
jne 0x4be752
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 4]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
push ebp
mov eax, dword [ebp - 0x44]
call fcn.004bd70c
pop ecx
test al, al
je 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4be785
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4be785
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xd8
jne 0x4be785
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4be7b8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4be7b8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4be7b8
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x56
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x8b
jne 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bd478
test al, al
jne 0x4bee7e
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x4be81b
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x3c]
sub edx, eax
jne 0x4be85f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4be85f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x74
jne 0x4be85f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x24
jne 0x4be85f
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
jne 0x4be89f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4be89f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xf1
jne 0x4be89f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xe8
jne 0x4be89f
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4be8d2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4be8d2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4be8d2
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xf0
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x33
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0xc0
jne 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bd478
test al, al
jne 0x4bee7e
cmp byte [0x5c3b14], 0
jne 0x4bee7e
mov eax, dword [0x5c6694]
cmp byte [eax], 0
jne 0x4bee7e
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x4be972
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x3c]
sub edx, eax
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xa1
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 5], 0
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 6], 0x6a
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 7], 0xff
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 8], 0x68
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 9]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004bf0a8
test al, al
je 0x4bee7e
mov cl, 1
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004ca110
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004bd478
test al, al
jne 0x4bee7e
cmp byte [0x5c3be4], 0
je 0x4beb05
cmp byte [0x5c3b14], 0
jne 0x4beb05
mov eax, dword [0x5c6694]
cmp byte [eax], 0
jne 0x4beb05
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x4bea92
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x3c]
sub edx, eax
jne 0x4beb05
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xff
jne 0x4beb05
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x68
jne 0x4beb05
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 3]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004bf0a8
test al, al
je 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 7], 0x64
jne 0x4beaf5
mov cl, 1
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004ca110
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4bee7e
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x4beb1c
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x3c]
sub edx, eax
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xb9
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 3]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
push ebp
mov eax, dword [ebp - 0x44]
call fcn.004bd70c
pop ecx
test al, al
je 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x4beb79
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x3c]
sub edx, eax
jne 0x4bec11
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xec
jne 0x4bec11
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0
je 0x4bec11
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx + 2]
and al, 0x7f
cmp al, 0x3f
ja 0x4bec11
cmp byte [ebp - 0x21], 0x81
jne 0x4bebf0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
test dword [ebp - 0x44], 0xffff0000
jne 0x4bee7e
test byte [ebp - 0x44], 3
jne 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
test byte [eax + edx + 2], 3
jne 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4bee7e
cmp byte [ebp - 0x21], 0x83
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x2d
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
push ebp
mov eax, dword [ebp - 0x44]
call fcn.004bd70c
pop ecx
test al, al
je 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3bdc], 0
je 0x4becea
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x25
jne 0x4becea
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004bf130
test al, al
je 0x4bee7e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c4]
mov edx, dword [ebp - 0x3c]
call fcn.0040e244
mov edi, eax
inc edi
jne 0x4becda
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c4]
mov edx, dword [ebp - 0x3c]
call fcn.0040dff4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c8]
mov edx, dword [ebp - 0x44]
call fcn.0040dff4
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x35
jne 0x4bee7e
cmp dword [ebp - 0x14], 0
jle 0x4bed1f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0x66
jne 0x4bed1f
mov edx, dword [ebp - 0x3c]
dec edx
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 2]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004bf130
test al, al
je 0x4bee7e
mov dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
jmp 0x4bed56
dec dword [ebp - 0x40]
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
mov al, byte [edx + eax]
and al, 0xf8
cmp al, 0x50
jne 0x4bed6e
cmp dword [ebp - 0x20], 4
jl 0x4bed50
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3b14], 0
je 0x4bee7e
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x4bed95
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x3c]
sub edx, eax
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc9
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x85
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xd2
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0x74
jne 0x4bee7e
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
jmp 0x4bee7e
cmp byte [0x5c3be4], 0
je 0x4bee7e
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x4bee0d
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x3c]
sub edx, eax
jne 0x4bee7e
cmp byte [0x5c3b14], 0
jne 0x4bee7e
cmp dword [ebp - 0x14], 0
je 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0x90
je 0x4bee43
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0xcc
jne 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx + 1]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004bf130
test al, al
je 0x4bee7e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx - 1]
cmp byte [eax], 0x66
jne 0x4bee73
dec dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004ca544
inc dword [ebp - 0x14]
lea eax, [ebp - 0x28]
xor edx, edx
mov dl, byte [ebp - 0x21]
mov edx, dword [edx*4 + 0x5c36f0]
call fcn.00403aa8
jmp 0x4bef31
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x588]
mov edx, dword [ebp - 0x44]
call fcn.0043bcc0
mov edi, eax
inc edi
jne 0x4beebd
mov cl, 1
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004de268
lea eax, [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov edx, 0x4bf028
call fcn.00403cd8
jmp 0x4bef31
inc dword [ebp - 0x14]
jmp 0x4bef31
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax + 0x10]
test ebx, ebx
jle 0x4bef0a
lea ecx, [ebp - 0x78]
mov edx, ebx
dec edx
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x78]
mov edx, 0x4bf004
call fcn.00403d9c
je 0x4bef0a
xor ecx, ecx
mov edx, 0x4bf004
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax]
call dword [ebx + 0x38]
lea ecx, [ebp - 0x78]
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp - 0x14]
mov edx, 8
call fcn.00407490
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x28]
mov ecx, 0x4bf09c
call fcn.00403cd8
mov byte [ebp - 0x31], 1
cmp byte [ebp - 0x45], 0
je 0x4bef4f
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x28]
call fcn.00403aa8
mov ecx, esi
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax]
call dword [ebx + 0x38]
inc dword [ebp - 0x18]
mov eax, dword [0x5c7d04]
inc dword [eax + 0x57c]
cmp dword [ebp - 0x18], 0x2710
jne 0x4bef8f
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x57c]
xor ecx, ecx
mov eax, dword [ebp - 8]
call fcn.004ba77c
mov eax, dword [ebp - 8]
call fcn.004ba834
cmp byte [0x5c3afc], 0
jne 0x4befa9
xor eax, eax
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x31], 0
jne 0x4befa1
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0xc]
jl 0x4bd915
mov eax, dword [ebp - 8]
call fcn.004ba834
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4befd3
lea eax, [ebp - 0x78]
call fcn.00403a10
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.00403a34
ret