Function at 0x4f7b27
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff820
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
push 0x3e7
lea eax, [ebp - 0x3f8]
push eax
call fcn.0042e3f0
push 0x3e7
lea edx, [ebp - 0x7e0]
push edx
call fcn.0042e3f0
mov ecx, dword [ebx + 0x3f0]
cmp ecx, 0x4c
ja case.0x4f7b6a.0
jmp dword [ecx*4 + 0x4f7b71]
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4f7cde
cmp byte [esi + 1], 0x28
jne 0x4f7cde
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4f7d00
cmp byte [esi], 0x25
jne 0x4f7d00
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
mov dword [ebp - 0x10], 2
mov byte [ebp - 0x7e0], 0
jmp 0x4f7d77
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x10]
push dword [edx + ecx*4]
call fcn.0054c2d0
pop ecx
push eax
lea eax, [ebp - 0x7e0]
push eax
call fcn.0054c2d0
pop ecx
pop edx
add edx, eax
cmp edx, 0x3e7
ja 0x4f7d8c
cmp dword [ebp - 0x10], 2
jle 0x4f7d57
push 0x56b393
lea ecx, [ebp - 0x7e0]
push ecx
call fcn.0054c1f4
add esp, 8
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x10]
push dword [edx + ecx*4]
lea eax, [ebp - 0x7e0]
push eax
call fcn.0054c1f4
add esp, 8
inc dword [ebp - 0x10]
mov eax, dword [ebx + 0xc6c]
test eax, eax
je 0x4f7d8c
mov edx, dword [eax]
mov ecx, dword [ebp - 0x10]
cmp dword [edx + ecx*4], 0
jne 0x4f7d10
push 1
push 0
lea eax, [ebp - 0x7e0]
push eax
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea edx, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebp + 0x10]
mov esi, eax
lea edi, [ebp - 0x7e0]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
mov edi, eax
mov esi, 0x56b396
mov eax, edi
movsw word es:[edi], word [esi]
lea edx, [ebx + 0x7a4]
mov edi, edx
mov esi, 0x56b399
mov eax, edi
movsw word es:[edi], word [esi]
lea edx, [ebx + 8]
push edx
call fcn.00555124
pop ecx
mov dword [ebx + 0x3f4], eax
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
mov dword [ecx], eax
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4f7e9b
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
cmp dword [ebx + 0x404], 0
je 0x4f7eb2
push ebx
call fcn.004f7929
test eax, eax
je case.0x4f7b6a.0
xor edx, edx
mov dl, byte [esi]
push edx
push str.__
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4f7ef0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je 0x4f7ef0
push ebx
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
mov esi, edi
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea edi, [ebx + 8]
jmp 0x4f7f38
inc edi
cmp byte [edi], 0x20
je 0x4f7f37
cmp byte [edi], 0
je 0x4f7f66
mov eax, dword [ebp + 0x10]
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4f7fb2
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4f8019
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4f80f5
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
cmp dword [ebx + 0x404], 0
je 0x4f810c
push ebx
call fcn.004f7929
test eax, eax
je case.0x4f7b6a.0
push 0x3a
push esi
call fcn.0054c230
add esp, 8
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
mov byte [edi], 0
cmp byte [esi], 0x24
jne 0x4f814d
cmp byte [esi + 1], 0x28
jne 0x4f814d
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4f816f
cmp byte [esi], 0x25
jne 0x4f816f
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push 1
push 0
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 0xc]
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
inc edi
jmp 0x4f8190
inc edi
cmp byte [edi], 0x20
je 0x4f818f
cmp byte [edi], 0
je case.0x4f7b6a.0
push edi
call fcn.004f7a74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je case.0x4f7b6a.0
push ebx
mov ecx, dword [ebx + 0xc6c]
mov eax, dword [ecx]
push dword [eax + 8]
push edi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push dword [ebp - 4]
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea edx, [ebx + 0x808]
push esi
mov edi, esi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov esi, edx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov esi, dword [edx + 0xc]
test esi, esi
je 0x4f826e
mov eax, dword [ebp + 0x10]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4f82ba
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push dword [ebx + 0x1454]
call fcn.0051dd0a
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je case.0x4f7b6a.0
mov eax, dword [ebp - 0xc]
add eax, 8
mov dword [ebp - 4], eax
mov al, byte [esi]
cmp al, 0x23
jne 0x4f836d
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 1
jne case.0x4f7b6a.0
jmp 0x4f83fd
cmp al, 0x3f
jne 0x4f8393
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6bc], 2
jne case.0x4f7b6a.0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x6c0], 2
jg case.0x4f7b6a.0
jmp 0x4f83fd
cmp byte [esi], 0x3d
jne 0x4f83bf
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 2
jne case.0x4f7b6a.0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6c0], 3
jne case.0x4f7b6a.0
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4f83fd
cmp byte [esi], 0x21
jne 0x4f83eb
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 2
jne case.0x4f7b6a.0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6c0], 4
jne case.0x4f7b6a.0
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4f83fd
cmp byte [esi], 0x40
jne 0x4f83fd
mov edx, dword [ebp - 0xc]
cmp byte [edx + 8], 0x40
jne case.0x4f7b6a.0
cmp dword [ebp - 4], 0
jne 0x4f843e
cmp byte [esi + 1], 0
je 0x4f840a
inc esi
push 0x20
mov ecx, dword [ebp - 0xc]
add ecx, 8
push ecx
call fcn.0054c230
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4f8427
inc dword [ebp - 4]
cmp dword [ebp - 4], 0
je 0x4f8435
mov eax, dword [ebp - 4]
cmp byte [eax], 0
jne 0x4f843e
mov edx, dword [ebp - 0xc]
add edx, 8
mov dword [ebp - 4], edx
push 1
push 0
push dword [ebp - 4]
push esi
call fcn.0051d2f8
test eax, eax
jne 0x4f8461
push ebx
push dword [ebp - 4]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea ecx, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4f8533
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4f85eb
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
push dword [ebx + 0xc78]
call fcn.00438ac0
test eax, eax
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4f86cd
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4f8706
cmp byte [esi + 1], 0x28
jne 0x4f8706
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4f8728
cmp byte [esi], 0x25
jne 0x4f8728
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push 1
push 0
mov eax, dword [ebx + 0xc78]
add eax, 4
push eax
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea edx, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebx + 0xc78]
add eax, 4
mov edx, dword [ebp + 0x10]
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4f885a
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4f88a2
cmp byte [esi + 1], 0x28
jne 0x4f88a2
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4f88c4
cmp byte [esi], 0x25
jne 0x4f88c4
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push dword [ebx + 0x1454]
call fcn.0051dd0a
test eax, eax
je 0x4f88e5
cmp dword [eax + 0x6bc], 0
jne 0x4f88e5
cmp byte [esi], 0x2a
jne case.0x4f7b6a.0
cmp byte [esi], 0x3f
jne 0x4f8931
push dword [ebx + 0xc78]
call fcn.00438ac0
test eax, eax
jne case.0x4f7b6a.0
push ebx
lea eax, [ebx + 0x408]
push eax
push esi
call fcn.004f74a0
test eax, eax
jne 0x4f8a47
push 1
push 0
lea edx, [ebx + 0x408]
push edx
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
jmp 0x4f8a47
cmp byte [esi], 0x40
jne 0x4f897d
push dword [ebx + 0xc78]
call fcn.00438ac0
test eax, eax
jne case.0x4f7b6a.0
push ebx
lea ecx, [ebx + 0x408]
push ecx
push esi
call fcn.004f74a0
test eax, eax
jne 0x4f8a47
push 1
push 0
lea eax, [ebx + 0x408]
push eax
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
jmp 0x4f8a47
cmp byte [esi], 0x3d
jne 0x4f89ca
push dword [ebx + 0xc78]
call fcn.00438ac0
test eax, eax
je case.0x4f7b6a.0
mov edx, dword [ebx + 0xc78]
cmp dword [edx + 0x540], 0
jne case.0x4f7b6a.0
inc esi
cmp byte [esi], 0
je 0x4f8a47
push ebx
lea ecx, [ebx + 0x408]
push ecx
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
jmp 0x4f8a47
cmp byte [esi], 0x21
jne 0x4f8a13
push dword [ebx + 0xc78]
call fcn.00438ac0
test eax, eax
je case.0x4f7b6a.0
mov eax, dword [ebx + 0xc78]
cmp dword [eax + 0x540], 0
je case.0x4f7b6a.0
inc esi
cmp byte [esi], 0
je 0x4f8a47
push ebx
lea edx, [ebx + 0x408]
push edx
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
jmp 0x4f8a47
cmp byte [esi], 0x2a
jne case.0x4f7b6a.0
push ebx
lea ecx, [ebx + 0x408]
push ecx
push esi
call fcn.004f74a0
test eax, eax
jne 0x4f8a47
push 1
push 0
lea eax, [ebx + 0x408]
push eax
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
cmp dword [ebx + 0x1454], 0
jne 0x4f8af9
cmp dword [ebx + 0xc6c], 0
je 0x4f8af9
mov edx, dword [ebx + 0xc6c]
mov ecx, dword [edx]
cmp dword [ecx + 0xc], 0
je 0x4f8af9
push 0x3a
push edi
call fcn.0054c230
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4f8af9
mov eax, dword [ebp - 4]
mov byte [eax], 0
inc dword [ebp - 4]
jmp 0x4f8a95
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
cmp byte [edx], 0x20
je 0x4f8a92
mov ecx, dword [ebp - 4]
cmp byte [ecx], 0
je case.0x4f7b6a.0
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov ecx, dword [edx + 0xc]
push esi
push edi
mov edi, ecx
lea esi, [ebp - 0x7e0]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 1
push 0
lea eax, [ebp - 0x7e0]
push eax
push edi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
mov edi, dword [ebp - 4]
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea eax, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
cmp dword [ebx + 0x1454], 0
jne 0x4f8bb3
cmp dword [ebx + 0xc6c], 0
je 0x4f8bb3
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
cmp dword [edx + 0xc], 0
je 0x4f8bb3
mov ecx, dword [ebx + 0xc6c]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp + 0x10]
mov edi, edx
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4f8c1a
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x408]
mov edx, dword [ebp + 0x10]
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4f8cfc
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x408]
mov edx, dword [ebp + 0x10]
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4f8e02
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4f8e3b
cmp byte [esi + 1], 0x28
jne 0x4f8e3b
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4f8e5d
cmp byte [esi], 0x25
jne 0x4f8e5d
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push 1
push 0
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 0xc]
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea ecx, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov ecx, dword [edx + 0xc]
mov eax, dword [ebp + 0x10]
mov edi, ecx
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4f8f60
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4f8fde
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
push dword [ebx + 0xc78]
call fcn.00438ac0
test eax, eax
jne 0x4f9000
push dword [ebx + 0xc74]
call fcn.0048be97
test eax, eax
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4f9039
cmp byte [esi + 1], 0x28
jne 0x4f9039
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4f905b
cmp byte [esi], 0x25
jne 0x4f905b
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push dword [ebx + 0xc78]
call fcn.00438ac0
test eax, eax
je 0x4f90a5
mov eax, dword [ebx + 0xc78]
cmp dword [eax + 0x540], 0
je 0x4f9090
push esi
push edi
mov esi, str.FSERVE
lea edi, [ebp - 0x7e0]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x4f90c7
push esi
push edi
mov esi, 0x56b3aa
lea edi, [ebp - 0x7e0]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x4f90c7
push dword [ebx + 0xc74]
call fcn.0048be97
test eax, eax
je 0x4f90c7
push esi
push edi
mov esi, str.SEND
lea edi, [ebp - 0x7e0]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 1
push 0
lea edx, [ebp - 0x7e0]
push edx
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea ecx, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
push dword [ebx + 0xc54]
call fcn.0045e026
test eax, eax
je case.0x4f7b6a.0
push 0x3a
push esi
call fcn.0054c230
add esp, 8
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
mov byte [edi], 0
push 1
push 0
push dword [ebx + 0xc54]
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
inc edi
jmp 0x4f91f9
inc edi
cmp byte [edi], 0x20
je 0x4f91f8
cmp byte [edi], 0
je case.0x4f7b6a.0
push edi
call fcn.004f7a74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je case.0x4f7b6a.0
push 0x2c
push edi
call fcn.0054c230
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f9247
mov eax, dword [ebp - 8]
mov byte [eax], 0
inc dword [ebp - 8]
mov edx, dword [ebp - 8]
cmp byte [edx], 0
jne 0x4f9247
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x4f9247
inc edi
cmp byte [edi], 0x20
je 0x4f9246
push 1
push 0
mov eax, dword [ebx + 0xc54]
add eax, 0xf0
push eax
push edi
call fcn.0051d2f8
test eax, eax
jne 0x4f9275
cmp dword [ebp - 8], 0
je case.0x4f7b6a.0
mov edi, dword [ebp - 8]
jmp 0x4f921a
mov edi, dword [ebp - 4]
push edi
call fcn.004f7a74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je case.0x4f7b6a.0
push 0x2c
push edi
call fcn.0054c230
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f92b8
mov eax, dword [ebp - 8]
mov byte [eax], 0
inc dword [ebp - 8]
mov edx, dword [ebp - 8]
cmp byte [edx], 0
jne 0x4f92b8
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x4f92b8
inc edi
cmp byte [edi], 0x20
je 0x4f92b7
cmp byte [edi], 0
je 0x4f92e9
push 0x56b3b6
push edi
call fcn.0054c494
add esp, 8
test eax, eax
je 0x4f92f8
push edi
call fcn.00555124
pop ecx
mov edx, dword [ebx + 0xc54]
cmp eax, dword [edx + 0x154]
je 0x4f92f8
cmp dword [ebp - 8], 0
je case.0x4f7b6a.0
mov edi, dword [ebp - 8]
jmp 0x4f928b
push ebx
push dword [ebp - 4]
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov esi, edx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4f93a4
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebx + 0x1c28]
add eax, 0xd1e
mov edx, dword [ebp + 0x10]
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4f948b
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4f9589
cmp byte [esi + 1], 0x28
jne 0x4f9589
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4f95ab
cmp byte [esi], 0x25
jne 0x4f95ab
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
mov byte [ebp - 0x7e0], 0
mov eax, dword [ebx + 0xc6c]
push dword [eax]
lea edx, [ebp - 0x7e0]
push edx
push 0
call fcn.004e45c5
push 1
push 0
lea ecx, [ebp - 0x7e0]
push ecx
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea eax, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebp + 0x10]
mov esi, eax
lea edi, [ebp - 0x7e0]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4f96db
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
push dword [ebx + 0xc74]
call fcn.0048be97
test eax, eax
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4f97bd
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4f97f6
cmp byte [esi + 1], 0x28
jne 0x4f97f6
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4f9818
cmp byte [esi], 0x25
jne 0x4f9818
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
mov eax, dword [ebx + 0xc74]
add eax, 0x234
push eax
push esi
call fcn.004f77cb
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov edx, dword [ebp + 0x10]
mov byte [edx], 0
mov byte [ebx + 0x4d0], 0
mov ecx, dword [ebp + 0xc]
push edi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
push dword [ebx + 0xc70]
call fcn.00501a6b
test eax, eax
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4f9903
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4f993c
cmp byte [esi + 1], 0x28
jne 0x4f993c
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4f995e
cmp byte [esi], 0x25
jne 0x4f995e
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
mov eax, dword [ebx + 0xc70]
add eax, 0x234
push eax
push esi
call fcn.004f77cb
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov edx, dword [ebp + 0x10]
mov byte [edx], 0
mov byte [ebx + 0x4d0], 0
mov ecx, dword [ebp + 0xc]
push edi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0x1454], 0
je case.0x4f7b6a.0
cmp byte [ebx + 0x106b], 0
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push 1
push 0
lea eax, [ebx + 0x106b]
push eax
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push edi
call fcn.004f7a74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je case.0x4f7b6a.0
push dword [ebx + 0x1454]
call fcn.0051dd0a
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je case.0x4f7b6a.0
mov edx, dword [ebp - 0xc]
add edx, 8
mov dword [ebp - 8], edx
mov al, byte [edi]
cmp al, 0x23
jne 0x4f9ab1
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 1
jne case.0x4f7b6a.0
jmp 0x4f9b41
cmp al, 0x3f
jne 0x4f9ad7
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6bc], 2
jne case.0x4f7b6a.0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x6c0], 2
jg case.0x4f7b6a.0
jmp 0x4f9b41
cmp byte [edi], 0x3d
jne 0x4f9b03
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 2
jne case.0x4f7b6a.0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6c0], 3
jne case.0x4f7b6a.0
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4f9b41
cmp byte [edi], 0x21
jne 0x4f9b2f
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 2
jne case.0x4f7b6a.0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6c0], 4
jne case.0x4f7b6a.0
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4f9b41
cmp byte [edi], 0x40
jne 0x4f9b41
mov edx, dword [ebp - 0xc]
cmp byte [edx + 8], 0x40
jne case.0x4f7b6a.0
cmp dword [ebp - 8], 0
jne 0x4f9b82
cmp byte [edi + 1], 0
je 0x4f9b4e
inc edi
push 0x20
mov ecx, dword [ebp - 0xc]
add ecx, 8
push ecx
call fcn.0054c230
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4f9b6b
inc dword [ebp - 8]
cmp dword [ebp - 8], 0
je 0x4f9b79
mov eax, dword [ebp - 8]
cmp byte [eax], 0
jne 0x4f9b82
mov edx, dword [ebp - 0xc]
add edx, 8
mov dword [ebp - 8], edx
push 1
push 0
push dword [ebp - 8]
push edi
call fcn.0051d2f8
test eax, eax
jne 0x4f9ba5
push ebx
push dword [ebp - 8]
push edi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push dword [ebp - 4]
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov dword [ebx + 0xc68], 1
lea ecx, [ebx + 0x808]
push esi
mov edi, esi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov esi, edx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x106b]
mov edx, dword [ebp + 0x10]
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push dword [ebx + 0x1454]
call fcn.0051dd0a
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je case.0x4f7b6a.0
mov eax, dword [ebp - 0xc]
add eax, 8
mov dword [ebp - 4], eax
mov al, byte [esi]
cmp al, 0x23
jne 0x4f9cfa
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 1
jne case.0x4f7b6a.0
jmp 0x4f9d8a
cmp al, 0x3f
jne 0x4f9d20
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6bc], 2
jne case.0x4f7b6a.0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x6c0], 2
jg case.0x4f7b6a.0
jmp 0x4f9d8a
cmp byte [esi], 0x3d
jne 0x4f9d4c
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 2
jne case.0x4f7b6a.0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6c0], 3
jne case.0x4f7b6a.0
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4f9d8a
cmp byte [esi], 0x21
jne 0x4f9d78
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 2
jne case.0x4f7b6a.0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6c0], 4
jne case.0x4f7b6a.0
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4f9d8a
cmp byte [esi], 0x40
jne 0x4f9d8a
mov edx, dword [ebp - 0xc]
cmp byte [edx + 8], 0x40
jne case.0x4f7b6a.0
cmp dword [ebp - 4], 0
jne 0x4f9dcb
cmp byte [esi + 1], 0
je 0x4f9d97
inc esi
push 0x20
mov ecx, dword [ebp - 0xc]
add ecx, 8
push ecx
call fcn.0054c230
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4f9db4
inc dword [ebp - 4]
cmp dword [ebp - 4], 0
je 0x4f9dc2
mov eax, dword [ebp - 4]
cmp byte [eax], 0
jne 0x4f9dcb
mov edx, dword [ebp - 0xc]
add edx, 8
mov dword [ebp - 4], edx
push 1
push 0
push dword [ebp - 4]
push esi
call fcn.0051d2f8
test eax, eax
jne 0x4f9dee
push ebx
push dword [ebp - 4]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea ecx, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov esi, dword [0x562870]
test esi, esi
je 0x4f9e89
mov eax, dword [ebp + 0x10]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4f9f14
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push ebx
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 0xc]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 0xc]
call fcn.004ed8a9
test al, al
je 0x4f9fca
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fa055
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
cmp dword [ebx + 0x404], 0
je 0x4fa06c
push ebx
call fcn.004f7929
test eax, eax
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push ebx
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4fa122
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fa1ad
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
cmp dword [ebx + 0x404], 0
je 0x4fa1c4
push ebx
call fcn.004f7929
test eax, eax
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push ebx
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov esi, dword [edx + 0x10]
test esi, esi
je 0x4fa263
mov eax, dword [ebp + 0x10]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4fa2af
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
mov eax, dword [ebx + 0x1454]
test eax, eax
je case.0x4f7b6a.0
push eax
call fcn.0051dd0a
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je case.0x4f7b6a.0
push 0x3a
push esi
call fcn.0054c230
add esp, 8
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
mov byte [edi], 0
cmp byte [esi], 0x24
jne 0x4fa378
cmp byte [esi + 1], 0x28
jne 0x4fa378
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4fa39a
cmp byte [esi], 0x25
jne 0x4fa39a
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push 0x56b3b9
push esi
call fcn.0054c494
add esp, 8
test eax, eax
je 0x4fa3c5
push 1
push 0
mov eax, dword [ebp - 0xc]
add eax, 8
push eax
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
inc edi
jmp 0x4fa3c9
inc edi
cmp byte [edi], 0x20
je 0x4fa3c8
cmp byte [edi], 0
je case.0x4f7b6a.0
push edi
call fcn.004f7a74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je case.0x4f7b6a.0
push 0x2c
push edi
call fcn.0054c230
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4fa417
mov edx, dword [ebp - 8]
mov byte [edx], 0
inc dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp byte [ecx], 0
jne 0x4fa417
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4fa417
inc edi
cmp byte [edi], 0x20
je 0x4fa416
cmp byte [edi], 0
je 0x4fa442
push 0x56b3bc
push edi
call fcn.0054c494
add esp, 8
test eax, eax
je 0x4fa451
push edi
call fcn.00555124
pop ecx
cmp eax, dword [ebx + 0xc5c]
je 0x4fa451
cmp dword [ebp - 8], 0
je case.0x4f7b6a.0
mov edi, dword [ebp - 8]
jmp 0x4fa3ea
push ebx
push dword [ebp - 4]
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov esi, edx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebx + 0x1c28]
mov esi, dword [ebp - 0xc]
add esi, 8
push esi
call fcn.004ed8a9
test al, al
je 0x4fa4d5
lea eax, [ebx + 0x4d0]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4fa53c
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fa618
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
cmp dword [ebx + 0x404], 0
je 0x4fa62f
push ebx
call fcn.004f7929
test eax, eax
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push ebx
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4fa6e5
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov esi, dword [edx + 0xc]
test esi, esi
je 0x4fa760
mov dword [ebp - 0x10], 3
mov eax, dword [ebp + 0x10]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x4fa74c
push 0x56b3bf
push dword [ebp + 0x10]
call fcn.0054c1f4
add esp, 8
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x10]
push dword [edx + ecx*4]
push dword [ebp + 0x10]
call fcn.0054c1f4
add esp, 8
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebx + 0xc6c]
mov ecx, dword [edx]
cmp dword [ecx + eax*4], 0
jne 0x4fa723
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fa7ee
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
jmp 0x4fa7ee
inc esi
cmp byte [esi], 0x20
je 0x4fa7ed
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x46c]
mov edx, dword [ebx + 0xc6c]
mov ecx, dword [edx]
mov edx, dword [ecx + 8]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fa8f1
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
jmp 0x4fa8f1
inc esi
cmp byte [esi], 0x20
je 0x4fa8f0
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fa9c2
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
jmp 0x4fa9c2
inc esi
cmp byte [esi], 0x20
je 0x4fa9c1
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push dword [ebx + 0xc78]
call fcn.00438ac0
test eax, eax
je 0x4faa53
mov eax, dword [ebx + 0xc78]
add eax, 4
mov edx, dword [ebp + 0x10]
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4faae4
mov eax, dword [ebx + 0xc6c]
test eax, eax
je 0x4faae4
mov edx, dword [eax]
cmp dword [edx + 0xc], 0
je 0x4faa98
mov ecx, dword [ebx + 0xc6c]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp + 0x10]
mov edi, edx
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4faae4
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fab6f
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
cmp dword [ebx + 0x404], 0
je 0x4fab86
push ebx
call fcn.004f7929
test eax, eax
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push ebx
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov esi, dword [edx + 0xc]
test esi, esi
je 0x4fac6b
mov dword [ebp - 0x10], 3
mov eax, dword [ebp + 0x10]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x4fac57
push 0x56b3c2
push dword [ebp + 0x10]
call fcn.0054c1f4
add esp, 8
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x10]
push dword [edx + ecx*4]
push dword [ebp + 0x10]
call fcn.0054c1f4
add esp, 8
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebx + 0xc6c]
mov ecx, dword [edx]
cmp dword [ecx + eax*4], 0
jne 0x4fac2e
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4facb7
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fad42
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
cmp dword [ebx + 0x404], 0
je 0x4fad59
push ebx
call fcn.004f7929
test eax, eax
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push ebx
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov esi, dword [edx + 0xc]
test esi, esi
je 0x4fadf8
mov eax, dword [ebp + 0x10]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4fae44
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
jmp 0x4faebb
inc esi
cmp byte [esi], 0x20
je 0x4faeba
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov esi, dword [edx + 4]
test esi, esi
je 0x4faf40
mov eax, dword [ebp + 0x10]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4fafa7
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
jmp 0x4fb06f
inc esi
cmp byte [esi], 0x20
je 0x4fb06e
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebx + 0xc6c]
push dword [eax]
push dword [ebp + 0x10]
push 2
call fcn.004e45c5
lea edx, [ebx + 0x7d6]
lea ecx, [ebx + 0x772]
mov esi, edx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fb15f
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
jmp 0x4fb15f
inc esi
cmp byte [esi], 0x20
je 0x4fb15e
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov esi, dword [edx + 8]
test esi, esi
je 0x4fb1e4
mov eax, dword [ebp + 0x10]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
push dword [ebx + 0xc80]
call fcn.005071c0
test eax, eax
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4fb2a6
cmp byte [esi + 1], 0x28
jne 0x4fb2a6
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4fb2c8
cmp byte [esi], 0x25
jne 0x4fb2c8
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push 1
push 0
push dword [ebx + 0xc80]
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea eax, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4fb3eb
cmp byte [esi + 1], 0x28
jne 0x4fb3eb
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4fb40d
cmp byte [esi], 0x25
jne 0x4fb40d
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
lea eax, [ebx + 0xc84]
push esi
push edi
mov edi, eax
lea esi, [ebp - 0x7e0]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x20
lea eax, [ebp - 0x7e0]
push eax
call fcn.0054c230
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4fb479
mov edx, dword [ebp - 4]
mov byte [edx], 0
inc dword [ebp - 4]
jmp 0x4fb464
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp byte [ecx], 0x20
je 0x4fb461
mov eax, dword [ebp - 4]
cmp byte [eax], 0
jne 0x4fb479
xor edx, edx
mov dword [ebp - 4], edx
push 1
push 0
lea ecx, [ebp - 0x7e0]
push ecx
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea eax, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
cmp dword [ebp - 4], 0
je 0x4fb52a
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 4]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fb5b5
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4fb5ee
cmp byte [esi + 1], 0x28
jne 0x4fb5ee
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4fb610
cmp byte [esi], 0x25
jne 0x4fb610
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push 1
push 0
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 0xc]
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea ecx, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
cmp dword [edx + 0xc], 0
je 0x4fb6d5
mov ecx, dword [ebx + 0xc6c]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp + 0x10]
mov edi, edx
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fb760
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
cmp dword [ebx + 0x404], 0
je 0x4fb777
push ebx
call fcn.004f7929
test eax, eax
je case.0x4f7b6a.0
push 0x3a
push esi
call fcn.0054c230
add esp, 8
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
mov byte [edi], 0
cmp byte [esi], 0x24
jne 0x4fb7b8
cmp byte [esi + 1], 0x28
jne 0x4fb7b8
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4fb7da
cmp byte [esi], 0x25
jne 0x4fb7da
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push 1
push 0
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 0xc]
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
inc edi
jmp 0x4fb7fb
inc edi
cmp byte [edi], 0x20
je 0x4fb7fa
cmp byte [edi], 0
je case.0x4f7b6a.0
push edi
call fcn.004f7a74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je case.0x4f7b6a.0
push ebx
mov ecx, dword [ebx + 0xc6c]
mov eax, dword [ecx]
push dword [eax + 8]
push edi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push dword [ebp - 4]
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea edx, [ebx + 0x808]
push esi
mov edi, esi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov esi, edx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov ecx, dword [edx + 0xc]
mov eax, dword [ebp + 0x10]
mov edi, ecx
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4fb91f
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
cmp dword [ebx + 0x400], 0
je 0x4fb9aa
push ebx
call fcn.004f78d8
test eax, eax
jne case.0x4f7b6a.0
cmp dword [ebx + 0x404], 0
je 0x4fb9c1
push ebx
call fcn.004f7929
test eax, eax
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push ebx
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
push esi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push edi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
cmp dword [edx + 0xc], 0
je 0x4fba68
mov ecx, dword [ebx + 0xc6c]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp + 0x10]
mov edi, edx
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebx + 0x1c28]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
call fcn.004ed8a9
test al, al
je 0x4fbab4
lea ecx, [ebx + 0x4d0]
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov eax, dword [edx + 8]
mov esi, ecx
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
jmp 0x4fbb2b
inc esi
cmp byte [esi], 0x20
je 0x4fbb2a
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
cmp dword [edx + 0xc], 0
je 0x4fbbb8
mov ecx, dword [ebx + 0xc6c]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp + 0x10]
mov edi, edx
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
inc esi
cmp byte [esi], 0x20
je 0x4fbc1f
cmp byte [esi], 0
je case.0x4f7b6a.0
push ebx
push esi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov byte [ebx + 0x4d0], 0
mov eax, dword [ebp + 0xc]
push esi
mov edi, esi
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0x1454], 0
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
push 1
push 0
lea eax, [ebx + 0xc84]
push eax
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push edi
call fcn.004f7a74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je case.0x4f7b6a.0
push dword [ebx + 0x1454]
call fcn.0051dd0a
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je case.0x4f7b6a.0
mov edx, dword [ebp - 0xc]
add edx, 8
mov dword [ebp - 8], edx
mov al, byte [edi]
cmp al, 0x23
jne 0x4fbd5c
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 1
jne case.0x4f7b6a.0
jmp 0x4fbdec
cmp al, 0x3f
jne 0x4fbd82
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6bc], 2
jne case.0x4f7b6a.0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x6c0], 2
jg case.0x4f7b6a.0
jmp 0x4fbdec
cmp byte [edi], 0x3d
jne 0x4fbdae
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 2
jne case.0x4f7b6a.0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6c0], 3
jne case.0x4f7b6a.0
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4fbdec
cmp byte [edi], 0x21
jne 0x4fbdda
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x6bc], 2
jne case.0x4f7b6a.0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x6c0], 4
jne case.0x4f7b6a.0
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4fbdec
cmp byte [edi], 0x40
jne 0x4fbdec
mov edx, dword [ebp - 0xc]
cmp byte [edx + 8], 0x40
jne case.0x4f7b6a.0
cmp dword [ebp - 8], 0
jne 0x4fbe2d
cmp byte [edi + 1], 0
je 0x4fbdf9
inc edi
push 0x20
mov ecx, dword [ebp - 0xc]
add ecx, 8
push ecx
call fcn.0054c230
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4fbe16
inc dword [ebp - 8]
cmp dword [ebp - 8], 0
je 0x4fbe24
mov eax, dword [ebp - 8]
cmp byte [eax], 0
jne 0x4fbe2d
mov edx, dword [ebp - 0xc]
add edx, 8
mov dword [ebp - 8], edx
push 1
push 0
push dword [ebp - 8]
push edi
call fcn.0051d2f8
test eax, eax
jne 0x4fbe50
push ebx
push dword [ebp - 8]
push edi
call fcn.004f74a0
test eax, eax
je case.0x4f7b6a.0
push ebx
push dword [ebp - 4]
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea ecx, [ebx + 0x808]
push esi
mov edi, esi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov esi, edx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0xc84]
mov edx, dword [ebp + 0x10]
mov edi, eax
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
jmp case.0x4f7b6a.0
cmp dword [ebx + 0xc6c], 0
je case.0x4f7b6a.0
push esi
call fcn.004f7a74
mov edi, eax
test edi, edi
je case.0x4f7b6a.0
cmp byte [esi], 0x24
jne 0x4fbf95
cmp byte [esi + 1], 0x28
jne 0x4fbf95
push ebx
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.004f73c5
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
jmp 0x4fbfb7
cmp byte [esi], 0x25
jne 0x4fbfb7
push 0
lea eax, [ebp - 0x3f8]
push eax
push esi
call fcn.0051bd3b
test eax, eax
je case.0x4f7b6a.0
lea esi, [ebp - 0x3f8]
push 1
push 0
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
push dword [edx + 8]
push esi
call fcn.0051d2f8
test eax, eax
je case.0x4f7b6a.0
push ebx
push edi
call fcn.004f7a01
test eax, eax
jne case.0x4f7b6a.0
lea ecx, [ebx + 0x808]
push esi
push edi
mov edi, esi
mov esi, ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
mov byte [eax], 0
mov byte [ebx + 0x4d0], 0
mov edx, dword [ebp + 0xc]
push edi
mov esi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, dword [ebx + 0xc6c]
mov edx, dword [eax]
mov ecx, dword [edx + 8]
mov eax, dword [ebp + 0x10]
mov edi, ecx
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7d6]
lea edx, [ebx + 0x772]
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebx + 0x7a4]
add ebx, 0x740
mov esi, eax
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18