Function at 0x4b9ad4
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 0x4bb16c
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 [0x5a7cf8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0xc]
jge 0x4bb141
cmp byte [0x5a37f0], 0
jne 0x4bb149
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.00407424
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5a7cec]
jne 0x4b9c3d
push dword [ebp - 0x28]
push 0x4bb184
push 0x4bb190
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.004d95d4
push 0
push 0x4bb190
mov eax, dword [0x5a7d40]
mov eax, dword [eax + 0x10]
push eax
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [0x5a381c]
mov edx, dword [0x5a3818]
mov eax, dword [ebp - 8]
call fcn.004b647c
xor ecx, ecx
mov edx, 0x4bb1a4
mov eax, dword [0x5a7d3c]
mov ebx, dword [eax]
call dword [ebx + 0x38]
xor ecx, ecx
mov edx, 0x4bb1b0
mov eax, dword [0x5a7d3c]
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 [0x5a7cf8]
mov edx, 8
call fcn.00407424
mov edx, dword [ebp - 0x6c]
mov eax, 0x5a7da8
call fcn.00403a64
mov eax, dword [0x5a7d3c]
mov eax, dword [eax + 0x10]
inc eax
mov dword [0x5a7da4], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0x10]
jge 0x4bb074
xor ebx, ebx
mov eax, dword [0x5a7d64]
cmp dword [eax + 8], 0
je 0x4b9c9f
lea ecx, [ebp - 0x48]
mov edx, esi
mov eax, dword [0x5a7d64]
call fcn.004b9a70
mov edi, eax
inc edi
je 0x4b9c9f
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 [0x5a3908]
xor eax, eax
mov al, byte [ebp - 0x1d]
push dword [eax*4 + 0x5a33e8]
push 0x4bb1bc
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
inc dword [ebp - 0x14]
mov byte [ebp - 0x40], 0
mov eax, dword [0x5a7d68]
call fcn.004a3da8
test eax, eax
je 0x4b9cea
test bl, bl
jne 0x4b9cea
lea ecx, [ebp - 0x4c]
mov edx, esi
mov eax, dword [0x5a7d68]
call fcn.004a3d48
mov edi, eax
cmp edi, 0xffffffff
je 0x4b9cea
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.004b98a8
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
mov byte [ebp - 0x41], 0
mov eax, dword [0x5a7d6c]
call fcn.004a3da8
test eax, eax
je 0x4b9d1e
test bl, bl
jne 0x4b9d1e
cmp byte [ebp - 0x40], 0
jne 0x4b9d1e
lea ecx, [ebp - 0x50]
mov edx, esi
mov eax, dword [0x5a7d6c]
call fcn.004a3d48
mov edi, eax
inc edi
je 0x4b9d1e
mov byte [ebp - 0x41], 1
mov byte [ebp - 0x3f], 0
mov eax, dword [0x5a7d60]
cmp dword [eax + 8], 0
je 0x4b9d92
test bl, bl
jne 0x4b9d92
cmp byte [ebp - 0x40], 0
jne 0x4b9d92
cmp byte [ebp - 0x41], 0
jne 0x4b9d92
lea ecx, [ebp - 0x54]
mov edx, esi
mov eax, dword [0x5a7d60]
call fcn.004b9a70
mov edi, eax
inc edi
je 0x4b9d92
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 [0x5a390c]
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.00407424
push dword [ebp - 0x6c]
push 0x4bb1bc
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
add dword [ebp - 0x14], 2
mov byte [ebp - 0x3e], 0
mov eax, dword [0x5a7d58]
cmp dword [eax + 8], 0
je 0x4b9e5d
test bl, bl
jne 0x4b9e5d
cmp byte [ebp - 0x40], 0
jne 0x4b9e5d
cmp byte [ebp - 0x41], 0
jne 0x4b9e5d
cmp byte [ebp - 0x3f], 0
jne 0x4b9e5d
lea ecx, [ebp - 0x58]
mov edx, esi
mov eax, dword [0x5a7d58]
call fcn.004b9a70
mov edi, eax
inc edi
je 0x4b9e5d
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 [0x5a7d5c]
call fcn.004b9a70
mov edi, eax
lea ecx, [ebp - 0x24]
mov edx, 8
mov eax, dword [ebp - 0x38]
call fcn.00407424
inc edi
je 0x4b9e3e
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004d96a0
push dword [0x5a3910]
push 0x4bb1c8
push dword [ebp - 0x24]
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
jmp 0x4b9e59
push dword [0x5a3910]
push dword [ebp - 0x24]
push 0x4bb1bc
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00403d4c
add dword [ebp - 0x14], 4
mov byte [ebp - 0x42], 0
mov eax, dword [0x5a7d70]
cmp dword [eax + 8], 0
je 0x4b9ec6
test bl, bl
jne 0x4b9ec6
cmp byte [ebp - 0x40], 0
jne 0x4b9ec6
cmp byte [ebp - 0x41], 0
jne 0x4b9ec6
cmp byte [ebp - 0x3f], 0
jne 0x4b9ec6
cmp byte [ebp - 0x3e], 0
jne 0x4b9ec6
lea ecx, [ebp - 0x60]
mov edx, esi
mov eax, dword [0x5a7d70]
call fcn.004b9a70
mov edi, eax
inc edi
je 0x4b9ec6
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.004b9770
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 [0x5a7d74]
cmp dword [eax + 8], 0
je 0x4b9f35
test bl, bl
jne 0x4b9f35
cmp byte [ebp - 0x40], 0
jne 0x4b9f35
cmp byte [ebp - 0x41], 0
jne 0x4b9f35
cmp byte [ebp - 0x3f], 0
jne 0x4b9f35
cmp byte [ebp - 0x3e], 0
jne 0x4b9f35
cmp byte [ebp - 0x42], 0
jne 0x4b9f35
lea ecx, [ebp - 0x64]
mov edx, esi
mov eax, dword [0x5a7d74]
call fcn.004b9a70
mov edi, eax
inc edi
je 0x4b9f35
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.004b980c
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 [0x5a7d78]
cmp dword [eax + 8], 0
je 0x4ba173
test bl, bl
jne 0x4ba173
cmp byte [ebp - 0x40], 0
jne 0x4ba173
cmp byte [ebp - 0x41], 0
jne 0x4ba173
cmp byte [ebp - 0x3f], 0
jne 0x4ba173
cmp byte [ebp - 0x3e], 0
jne 0x4ba173
cmp byte [ebp - 0x42], 0
jne 0x4ba173
cmp byte [ebp - 0x43], 0
jne 0x4ba173
lea ecx, [ebp - 0x68]
mov edx, esi
mov eax, dword [0x5a7d78]
call fcn.004b9a70
mov edi, eax
inc edi
je 0x4ba173
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x1c], 0x10
push dword [0x5a3904]
push 0x4bb1d4
push 0x4bb1e0
push 0x4bb1ec
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.00407424
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 0x4bb1f8
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.00407424
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 0x4bb1f8
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.00407424
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 0x4bb1f8
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.00407424
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 0x4bb1f8
lea ecx, [ebp - 0x6c]
mov edx, 4
mov eax, dword [ebp - 0x38]
call fcn.00407424
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.00407424
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
call fcn.00403c94
push dword [ebp - 0x24]
push 0x4bb204
push 0x4bb1e0
push 0x4bb210
lea eax, [ebp - 0x24]
mov edx, 4
call fcn.00403d4c
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x14], eax
test bl, bl
jne 0x4bb0d7
cmp byte [ebp - 0x40], 0
jne 0x4bb0d7
cmp byte [ebp - 0x41], 0
jne 0x4bb0d7
cmp byte [ebp - 0x3f], 0
jne 0x4bb0d7
cmp byte [ebp - 0x3e], 0
jne 0x4bb0d7
cmp byte [ebp - 0x42], 0
jne 0x4bb0d7
cmp byte [ebp - 0x43], 0
jne 0x4bb0d7
cmp byte [ebp - 0x44], 0
jne 0x4bb0d7
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5a7dbc]
jl 0x4ba1d7
cmp eax, dword [0x5a7dc0]
jle 0x4ba1ed
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x14]
cmp edx, dword [0x5a7dc4]
jl 0x4ba1f1
cmp edx, dword [0x5a7dc8]
jg 0x4ba1f1
xor eax, eax
jmp 0x4ba1f3
mov al, 1
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x4bb06f
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x14]
cmp eax, dword [0x5a7dcc]
jl 0x4ba254
cmp eax, dword [0x5a7dd0]
jg 0x4ba254
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
cmp dword [eax], 0
jne 0x4ba238
lea eax, [ebp - 0x24]
mov ecx, 0x4bb21c
mov edx, dword [0x5a3910]
call fcn.00403cd8
jmp 0x4ba24b
lea eax, [ebp - 0x24]
mov ecx, 0x4bb230
mov edx, dword [0x5a3910]
call fcn.00403cd8
add dword [ebp - 0x14], 4
jmp 0x4bb0d7
push ebp
lea ecx, [ebp - 0x6c]
lea edx, [ebp - 0x3c]
lea eax, [ebp - 0x14]
call fcn.004b99b4
pop ecx
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
call fcn.00403aa8
cmp dword [ebp - 0x24], 0
jne 0x4bb03e
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 0x4bb022
xor eax, eax
mov al, byte [ebp - 0x1d]
cmp eax, 0x64
jg 0x4ba2d5
je 0x4baaef
cmp eax, 0x53
jg 0x4ba2c0
je 0x4ba76f
sub eax, 0x31
je 0x4baf22
sub eax, 2
je 0x4ba315
jmp 0x4bb022
sub eax, 0x55
je 0x4ba68a
dec eax
je 0x4ba9b3
jmp 0x4bb022
cmp eax, 0x83
jg 0x4ba2f9
je 0x4bad2b
sub eax, 0x6a
je 0x4bac06
sub eax, 0x17
je 0x4bad2b
jmp 0x4bb022
add eax, 0xffffff60
sub eax, 4
jb 0x4baf9e
sub eax, 0x5b
je 0x4bae26
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc0
jne 0x4ba34d
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x30
jne 0x4ba34d
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x20
je 0x4ba3f9
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xd2
jne 0x4ba378
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x32
jne 0x4ba378
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x22
je 0x4ba3f9
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc9
jne 0x4ba39f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x31
jne 0x4ba39f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x21
je 0x4ba3f9
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xf6
jne 0x4ba3c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x36
jne 0x4ba3c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x26
je 0x4ba3f9
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xff
jne 0x4ba552
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xa], 0x37
jne 0x4ba552
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xd], 0x27
jne 0x4ba552
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x55
jne 0x4ba552
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x68
jne 0x4ba552
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 8], 0x64
jne 0x4ba552
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 9], 0xff
jne 0x4ba552
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xb], 0x64
jne 0x4ba552
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 0xc], 0x89
jne 0x4ba552
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.004bb248
test al, al
je 0x4bb022
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
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 0x4bb022
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x33
jb 0x4bb022
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0x90
je 0x4bb022
mov edx, dword [ebp - 4]
cmp byte [edx + eax + 5], 0xcc
je 0x4bb022
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 0x4bb022
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 0x4bb022
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 0x4bb022
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 0x4bb022
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 0x4bb022
mov edx, dword [ebp - 0x3c]
add edx, 5
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc0
jne 0x4ba5f4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x5a
jne 0x4ba5f4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x59
jne 0x4ba5f4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0x59
jne 0x4ba5f4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 5], 0x64
jne 0x4ba5f4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 6], 0x89
jne 0x4ba5f4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 7], 0x10
jne 0x4ba5f4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 8], 0x68
jne 0x4ba5f4
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.004bb248
test al, al
je 0x4bb022
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc0
jne 0x4ba647
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x5a
jne 0x4ba647
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x59
jne 0x4ba647
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0x59
jne 0x4ba647
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 5], 0x64
jne 0x4ba647
mov cl, 1
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5694
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xd2
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x89
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x50
jne 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004b96f4
test al, al
jne 0x4bb022
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4ba6ae
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4ba6e5
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4ba6e5
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xec
jne 0x4ba6e5
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp byte [edx + ecx + 1], 0x8b
jne 0x4bb022
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp byte [edx + ecx + 2], 0xec
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx + 3]
cmp al, 0x33
je 0x4ba75f
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0xb8
je 0x4ba75f
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x51
je 0x4ba75f
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x53
je 0x4ba75f
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x56
je 0x4ba75f
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x81
je 0x4ba75f
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x83
je 0x4ba75f
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp al, 0x8b
jne 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004b96f4
test al, al
jne 0x4bb022
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4ba793
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x56
jne 0x4ba7ce
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x57
jne 0x4ba7ce
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4ba805
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x5c
jne 0x4ba805
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x24
jne 0x4ba805
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x55
jne 0x4ba83c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x56
jne 0x4ba83c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x57
jne 0x4ba83c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x55
jne 0x4ba873
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x56
jne 0x4ba873
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4ba873
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4ba8ba
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xa1
jne 0x4ba8ba
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.004b9980
pop ecx
test al, al
je 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4ba90e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4ba90e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xa1
jne 0x4ba90e
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.004b9980
pop ecx
test al, al
je 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4ba941
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4ba941
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xd8
jne 0x4ba941
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4ba974
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4ba974
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4ba974
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x56
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x8b
jne 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004b96f4
test al, al
jne 0x4bb022
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4ba9d7
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4baa1b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4baa1b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x74
jne 0x4baa1b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x24
jne 0x4baa1b
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
jne 0x4baa5b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4baa5b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xf1
jne 0x4baa5b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xe8
jne 0x4baa5b
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4baa8e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4baa8e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x8b
jne 0x4baa8e
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x8b
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xf0
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0x33
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0xc0
jne 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004b96f4
test al, al
jne 0x4bb022
cmp byte [0x5a3804], 0
jne 0x4bb022
mov eax, dword [0x5a6110]
cmp byte [eax], 0
jne 0x4bb022
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bab2e
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xa1
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 5], 0
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 6], 0x6a
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 7], 0xff
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 8], 0x68
jne 0x4bb022
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.004bb248
test al, al
je 0x4bb022
mov cl, 1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004c5694
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
add eax, edx
mov edx, 3
call fcn.004b96f4
test al, al
jne 0x4bb022
cmp byte [0x5a38b8], 0
je 0x4bacc1
cmp byte [0x5a3804], 0
jne 0x4bacc1
mov eax, dword [0x5a6110]
cmp byte [eax], 0
jne 0x4bacc1
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bac4e
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bacc1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xff
jne 0x4bacc1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x68
jne 0x4bacc1
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.004bb248
test al, al
je 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 7], 0x64
jne 0x4bacb1
mov cl, 1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004c5694
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4bb022
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bacd8
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0xb9
jne 0x4bb022
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.004b9980
pop ecx
test al, al
je 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bad35
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4badcd
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xec
jne 0x4badcd
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0
je 0x4badcd
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx + 2]
and al, 0x7f
cmp al, 0x3f
ja 0x4badcd
cmp byte [ebp - 0x1d], 0x81
jne 0x4badac
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 0x4bb022
test byte [ebp - 0x3c], 3
jne 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
test byte [eax + edx + 2], 3
jne 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4bb022
cmp byte [ebp - 0x1d], 0x83
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x2d
jne 0x4bb022
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.004b9980
pop ecx
test al, al
je 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a38b0], 0
je 0x4bae9a
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x25
jne 0x4bae9a
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.004bb2c4
test al, al
je 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [0x5a7d7c]
call fcn.0040e3e0
mov edi, eax
inc edi
jne 0x4bae8a
mov edx, dword [ebp - 0x38]
mov eax, dword [0x5a7d7c]
call fcn.0040e090
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x5a7d80]
call fcn.0040e090
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0x35
jne 0x4bb022
cmp dword [ebp - 0x14], 0
jle 0x4baecf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0x66
jne 0x4baecf
mov edx, dword [ebp - 0x38]
dec edx
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
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.004bb2c4
test al, al
je 0x4bb022
mov eax, 1
mov edx, dword [ebp - 0x38]
jmp 0x4baefd
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 0x4baf15
cmp eax, 4
jl 0x4baefb
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a3804], 0
je 0x4bb022
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4baf39
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 1], 0xc9
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 2], 0x85
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 3], 0xd2
jne 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx + 4], 0x74
jne 0x4bb022
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
jmp 0x4bb022
cmp byte [0x5a38b8], 0
je 0x4bb022
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x4bafb1
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x38]
sub edx, eax
jne 0x4bb022
cmp byte [0x5a3804], 0
jne 0x4bb022
cmp dword [ebp - 0x14], 0
je 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0x90
je 0x4bafe7
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
cmp byte [eax + edx - 1], 0xcc
jne 0x4bb022
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.004bb2c4
test al, al
je 0x4bb022
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + edx - 1]
cmp byte [eax], 0x66
jne 0x4bb017
dec dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.004c5ab8
inc dword [ebp - 0x14]
lea eax, [ebp - 0x24]
xor edx, edx
mov dl, byte [ebp - 0x1d]
mov edx, dword [edx*4 + 0x5a33e8]
call fcn.00403aa8
jmp 0x4bb0d7
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x5a7d40]
call fcn.004a4f38
mov edi, eax
inc edi
jne 0x4bb05d
mov cl, 1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.004d96a0
lea eax, [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov edx, 0x4bb1c8
call fcn.00403cd8
jmp 0x4bb0d7
inc dword [ebp - 0x14]
jmp 0x4bb0d7
mov eax, dword [0x5a7d3c]
mov ebx, dword [eax + 0x10]
test ebx, ebx
jle 0x4bb0b0
lea ecx, [ebp - 0x6c]
mov edx, ebx
dec edx
mov eax, dword [0x5a7d3c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6c]
mov edx, 0x4bb1a4
call fcn.00403d9c
je 0x4bb0b0
xor ecx, ecx
mov edx, 0x4bb1a4
mov eax, dword [0x5a7d3c]
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.00407424
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x24]
mov ecx, 0x4bb23c
call fcn.00403cd8
mov byte [ebp - 0x2d], 1
cmp byte [ebp - 0x3d], 0
je 0x4bb0f7
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
call fcn.00403aa8
mov ecx, esi
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x5a7d3c]
mov ebx, dword [eax]
call dword [ebx + 0x38]
inc dword [ebp - 0x18]
inc dword [0x5a37f8]
cmp dword [ebp - 0x18], 0x2710
jne 0x4bb12f
xor ecx, ecx
mov edx, dword [0x5a37f8]
mov eax, dword [ebp - 8]
call fcn.004b6c74
mov eax, dword [ebp - 8]
call fcn.004b6d1c
cmp byte [0x5a37f0], 0
jne 0x4bb149
xor eax, eax
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x2d], 0
jne 0x4bb141
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0xc]
jl 0x4b9b5a
mov eax, dword [ebp - 8]
call fcn.004b6d1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bb173
lea eax, [ebp - 0x6c]
call fcn.00403a10
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00403a34
ret