Function at 0x71280c
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdbc
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov esi, dword [ebp - 4]
lea edi, [ebp - 0x78]
mov eax, dword [esi]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], ecx
xor eax, eax
mov esi, dword [ebp - 8]
xor edx, edx
mov ebx, dword [esi]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x74], edx
mov ecx, dword [ebp - 0xc]
xor eax, eax
xor edx, edx
mov ecx, dword [ecx]
mov dword [edi], ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x84], edx
xor ecx, ecx
mov dword [ebp - 0x88], ecx
xor eax, eax
mov dword [ebp - 0x8c], eax
test byte [ebp - 0x57], 8
setne dl
and edx, 1
mov dword [ebp - 0x90], edx
test byte [ebp - 0x57], 2
setne cl
and ecx, 1
xor edx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
xor eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x30], edx
mov eax, 0xfffffffe
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
test byte [ebp - 0x58], 1
je 0x7128d0
mov edx, 1
jmp 0x7128d2
xor edx, edx
mov dword [ebp - 0x4c], edx
mov eax, dword [edi]
movzx esi, byte [eax]
test esi, esi
jne 0x7128f3
cmp dword [ebp - 0x80], 0
je 0x7128f3
mov eax, dword [ebp - 0x80]
xor edx, edx
mov dword [edi], eax
mov dword [ebp - 0x80], edx
mov ecx, dword [edi]
movzx esi, byte [ecx]
cmp dword [ebp + 8], 0
je 0x712999
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
add edx, dword [ecx + 0x34]
add edx, 0xffffff9c
cmp ebx, edx
jbe 0x71291e
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x34
jmp 0x717018
cmp ebx, dword [ebp - 0x64]
jae 0x712926
mov ebx, dword [ebp - 0x64]
mov eax, dword [ebp + 8]
mov ecx, ebx
mov edx, 0x7fffffeb
sub edx, dword [eax]
sub ecx, dword [ebp - 0x64]
cmp edx, ecx
jge 0x712947
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x14
jmp 0x717018
mov eax, ebx
mov edx, dword [ebp + 8]
sub eax, dword [ebp - 0x64]
add dword [edx], eax
cmp dword [ebp - 0x84], 0
je 0x712991
mov ecx, dword [ebp - 0x84]
cmp ecx, dword [ebp - 0x68]
jbe 0x712994
mov ecx, ebx
sub ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x68]
call fcn.0070f4d0
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x68]
mov dword [ebp - 0x84], eax
sub ebx, ecx
jmp 0x712994
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x64], ebx
jmp 0x7129be
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
add edx, dword [ecx + 0x34]
add edx, 0xffffff9c
cmp edx, dword [eax + 0x24]
jae 0x7129be
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x34
jmp 0x717018
cmp dword [ebp - 0x70], 0
je 0x712a30
test esi, esi
je 0x712a30
cmp esi, 0x5c
jne 0x7129e6
mov ecx, dword [edi]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x45
jne 0x7129e6
xor eax, eax
mov dword [ebp - 0x70], eax
inc dword [edi]
jmp 0x717011
cmp dword [ebp - 0x88], 0
je 0x712a0d
cmp dword [ebp + 8], 0
jne 0x712a05
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, dword [ebp - 0x88]
call fcn.00711430
xor ecx, ecx
mov dword [ebp - 0x88], ecx
test byte [ebp - 0x57], 0x40
je 0x716cee
mov dword [ebp - 0x88], ebx
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, ebx
call fcn.007113f8
mov ebx, eax
jmp 0x716cee
cmp esi, 0x2a
je 0x712a54
cmp esi, 0x2b
je 0x712a54
cmp esi, 0x3f
je 0x712a54
cmp esi, 0x7b
jne 0x712a50
mov eax, dword [edi]
inc eax
call fcn.0070f780
test eax, eax
jne 0x712a54
xor edx, edx
jmp 0x712a59
mov edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
jne 0x712a9a
cmp dword [ebp - 0x88], 0
je 0x712a9a
mov ecx, dword [ebp - 0x5c]
add dword [ebp - 0x5c], 0xffffffff
test ecx, ecx
jg 0x712a9a
cmp dword [ebp + 8], 0
jne 0x712a92
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, dword [ebp - 0x88]
call fcn.00711430
xor ecx, ecx
mov dword [ebp - 0x88], ecx
test byte [ebp - 0x58], 8
je 0x712b8a
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
test byte [edx + esi], 1
jne 0x717011
cmp esi, 0x23
jne 0x712b8a
inc dword [edi]
jmp 0x712b72
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x68], 0
je 0x712b07
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x1c]
cmp edx, dword [edi]
jbe 0x712afc
mov ecx, dword [ebp + 0xc]
add ecx, 0x6c
push ecx
mov eax, dword [ebp - 0x90]
push eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 0x1c]
mov edx, dword [eax + 0x68]
mov eax, dword [edi]
call fcn.00774718
test eax, eax
jne 0x712b00
xor edx, edx
jmp 0x712b42
mov edx, 1
jmp 0x712b42
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x1c]
sub ecx, dword [eax + 0x6c]
cmp ecx, dword [edi]
jb 0x712b39
mov edx, dword [edi]
mov eax, dword [ebp + 0xc]
mov cl, byte [edx]
cmp cl, byte [eax + 0x70]
jne 0x712b39
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x6c], 1
je 0x712b3d
mov ecx, dword [edi]
mov edx, dword [ebp + 0xc]
mov al, byte [ecx + 1]
cmp al, byte [edx + 0x71]
je 0x712b3d
xor edx, edx
jmp 0x712b42
mov edx, 1
test edx, edx
je 0x712b51
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x6c]
dec ecx
add dword [edi], ecx
jmp 0x712b7d
inc dword [edi]
cmp dword [ebp - 0x90], 0
je 0x712b72
jmp 0x712b60
inc dword [edi]
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
and eax, 0xc0
cmp eax, 0x80
je 0x712b5e
mov edx, dword [edi]
cmp byte [edx], 0
jne 0x712ac4
mov ecx, dword [edi]
cmp byte [ecx], 0
jne 0x717011
xor esi, esi
test byte [ebp - 0x57], 0x40
je 0x712bad
cmp dword [ebp - 0xb4], 0
jne 0x712bad
mov dword [ebp - 0x88], ebx
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, ebx
call fcn.007113f8
mov ebx, eax
mov ecx, esi
cmp ecx, 0x3f
jg 0x712bfb
je 0x713e38
cmp ecx, 0x29
jg 0x712bdd
je 0x712c33
sub ecx, 1
jb 0x712c33
sub ecx, 0x23
je 0x712cc5
sub ecx, 4
je 0x715196
jmp 0x716cee
sub ecx, 0x2a
je 0x713e1a
dec ecx
je 0x713e28
sub ecx, 3
je 0x712ce1
jmp 0x716cee
cmp ecx, 0x5e
jg 0x712c22
je 0x712c98
sub ecx, 0x5b
je 0x712d40
dec ecx
je 0x7168af
dec ecx
je 0x712d20
jmp 0x716cee
sub ecx, 0x7b
je 0x713deb
dec ecx
je 0x712c33
jmp 0x716cee
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp - 0x2c]
mov dword [eax], edx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x34]
mov dword [ecx], eax
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x30]
mov dword [edx], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x38]
mov dword [edx], ecx
mov ecx, dword [ebp - 8]
mov dword [ecx], ebx
mov eax, dword [ebp - 0xc]
mov edx, dword [edi]
mov dword [eax], edx
cmp dword [ebp + 8], 0
je 0x712c8e
mov ecx, dword [ebp + 8]
mov edx, ebx
mov eax, 0x7fffffeb
sub eax, dword [ecx]
sub edx, dword [ebp - 0x64]
cmp eax, edx
jge 0x712c86
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x14
jmp 0x717018
sub ebx, dword [ebp - 0x64]
mov eax, dword [ebp + 8]
add dword [eax], ebx
mov eax, 1
jmp 0x717021
xor edx, edx
mov dword [ebp - 0x84], edx
test byte [ebp - 0x58], 2
je 0x712cbc
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x712cb3
mov dword [ebp - 0x34], 0xffffffff
mov byte [ebx], 0x1a
inc ebx
jmp 0x717011
mov byte [ebx], 0x19
inc ebx
jmp 0x717011
xor ecx, ecx
mov dword [ebp - 0x84], ecx
test byte [ebp - 0x58], 2
je 0x712cd7
mov cl, 0x1c
jmp 0x712cd9
mov cl, 0x1b
mov byte [ebx], cl
inc ebx
jmp 0x717011
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x712cee
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x84], ebx
test byte [ebp - 0x58], 4
je 0x712d16
mov dl, 0xd
jmp 0x712d18
mov dl, 0xc
mov byte [ebx], dl
inc ebx
jmp 0x717011
mov eax, dword [ebp + 0xc]
test byte [eax + 0x53], 2
je 0x716cee
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0x40
jmp 0x717018
mov dword [ebp - 0x84], ebx
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3a
je 0x712d6a
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x2e
je 0x712d6a
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3d
jne 0x712d99
lea edx, [ebp - 0x7c]
mov eax, dword [edi]
call fcn.00711258
test eax, eax
je 0x712d99
mov ecx, dword [edi]
movzx esi, byte [ecx + 1]
cmp esi, 0x3a
jne 0x712d8a
mov eax, 0xd
jmp 0x712d8f
mov eax, 0x1f
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
jmp 0x717018
xor ecx, ecx
mov dword [ebp - 0xa8], ecx
inc dword [edi]
mov ecx, dword [edi]
movzx esi, byte [ecx]
cmp esi, 0x5c
jne 0x712dd8
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x712dbd
inc dword [edi]
jmp 0x712da1
mov edx, 0x9de8d2
mov eax, dword [edi]
inc eax
mov ecx, 3
call fcn.0070f6d8
test eax, eax
jne 0x712df2
add dword [edi], 3
jmp 0x712da1
cmp dword [ebp - 0xa8], 0
jne 0x712df2
cmp esi, 0x5e
jne 0x712df2
mov dword [ebp - 0xa8], 1
jmp 0x712da1
cmp esi, 0x5d
jne 0x712e30
mov ecx, dword [ebp + 0xc]
test byte [ecx + 0x53], 2
je 0x712e30
cmp dword [ebp - 0xa8], 0
je 0x712e0d
mov al, 0xd
jmp 0x712e0f
mov al, 0x97
mov byte [ebx], al
inc ebx
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x712e1f
mov dword [ebp - 0x34], 0xffffffff
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], ecx
jmp 0x717011
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xc0], eax
xor edx, edx
lea eax, [ebp - 0x224]
mov dword [ebp - 0xc4], edx
xor edx, edx
mov ecx, 0x20
call fcn.0070f4e0
xor ecx, ecx
lea eax, [ebx + 5]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x9c]
test esi, esi
mov dword [ebp - 0xa4], edx
je 0x713c71
cmp dword [ebp - 0x90], 0
je 0x712fd7
cmp esi, 0xc0
jb 0x712fd7
mov ecx, dword [edi]
movzx esi, byte [ecx]
cmp esi, 0xc0
jb 0x712fd7
test esi, 0x20
jne 0x712eca
mov eax, dword [edi]
and esi, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl esi, 6
and edx, 0x3f
or esi, edx
inc dword [edi]
jmp 0x712fd7
test esi, 0x10
jne 0x712efa
mov ecx, dword [edi]
mov eax, dword [edi]
and esi, 0xf
xor edx, edx
movzx ecx, byte [ecx + 1]
and ecx, 0x3f
mov dl, byte [eax + 2]
shl ecx, 6
and edx, 0x3f
shl esi, 0xc
or esi, ecx
or esi, edx
add dword [edi], 2
jmp 0x712fd7
test esi, 8
jne 0x712f3a
mov ecx, dword [edi]
xor eax, eax
and esi, 7
mov edx, dword [edi]
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 0xc
and ecx, 0x3f
shl esi, 0x12
xor edx, edx
or esi, eax
mov eax, dword [edi]
shl ecx, 6
or esi, ecx
mov dl, byte [eax + 3]
and edx, 0x3f
or esi, edx
add dword [edi], 3
jmp 0x712fd7
test esi, 4
jne 0x712f86
mov ecx, dword [edi]
xor eax, eax
mov edx, dword [edi]
and esi, 3
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 0x12
and ecx, 0x3f
shl esi, 0x18
xor edx, edx
or esi, eax
mov eax, dword [edi]
shl ecx, 0xc
or esi, ecx
mov ecx, dword [edi]
mov dl, byte [eax + 3]
xor eax, eax
and edx, 0x3f
mov al, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or esi, edx
or esi, eax
add dword [edi], 4
jmp 0x712fd7
mov edx, dword [edi]
xor ecx, ecx
and esi, 1
mov eax, dword [edi]
mov cl, byte [edx + 1]
xor edx, edx
and ecx, 0x3f
mov dl, byte [eax + 2]
shl ecx, 0x18
and edx, 0x3f
shl esi, 0x1e
xor eax, eax
or esi, ecx
mov ecx, dword [edi]
shl edx, 0x12
or esi, edx
mov al, byte [ecx + 3]
and eax, 0x3f
mov edx, dword [edi]
shl eax, 0xc
xor ecx, ecx
or esi, eax
mov eax, dword [edi]
mov cl, byte [edx + 4]
xor edx, edx
and ecx, 0x3f
mov dl, byte [eax + 5]
shl ecx, 6
and edx, 0x3f
or esi, ecx
or esi, edx
add dword [edi], 5
cmp dword [ebp + 8], 0
je 0x713012
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [ebp - 0xa4]
jbe 0x713012
mov dword [ebp - 0xa0], 1
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp + 8]
sub eax, dword [ebp - 0xa4]
add dword [edx], eax
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x70], 0
je 0x713042
cmp esi, 0x5c
jne 0x71378f
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x71378f
xor ecx, ecx
mov dword [ebp - 0x70], ecx
inc dword [edi]
jmp 0x713c38
cmp esi, 0x5b
jne 0x713310
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x713073
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x713073
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x713310
lea edx, [ebp - 0x7c]
mov eax, dword [edi]
call fcn.00711258
test eax, eax
je 0x713310
xor ecx, ecx
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
mov dword [ebp - 0x114], edx
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3a
je 0x7130b3
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x1f
jmp 0x717018
add dword [edi], 2
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5e
jne 0x7130d7
mov dword [ebp - 0x104], 1
mov dword [ebp - 0xac], 1
inc dword [edi]
mov edx, dword [ebp - 0x7c]
mov eax, dword [edi]
sub edx, dword [edi]
call fcn.007112dc
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
jge 0x713100
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x1e
jmp 0x717018
test byte [ebp - 0x58], 1
je 0x713117
cmp dword [ebp - 0x108], 2
jg 0x713117
xor ecx, ecx
mov dword [ebp - 0x108], ecx
test byte [ebp - 0x55], 0x20
je 0x713167
cmp dword [ebp - 0x104], 0
je 0x71312d
mov ecx, 0xe
jmp 0x71312f
xor ecx, ecx
add ecx, dword [ebp - 0x108]
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x118]
cmp dword [eax*4 + 0x9ddaa4], 0
je 0x713167
mov edx, dword [ebp - 0x7c]
inc edx
mov dword [ebp - 0x80], edx
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx*4 + 0x9ddaa4]
dec eax
mov dword [edi], eax
jmp 0x713c38
mov edx, dword [ebp - 0x108]
lea eax, [ebp - 0x244]
lea edx, [edx + edx*2]
mov dword [ebp - 0x108], edx
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx*4 + 0x9dd9e4]
mov ecx, 0x20
add edx, dword [ebp - 0x114]
call fcn.0070f4c0
mov eax, dword [ebp - 0x108]
mov edx, dword [eax*4 + 0x9dd9e8]
mov dword [ebp - 0x10c], edx
mov ecx, dword [ebp - 0x108]
mov eax, dword [ecx*4 + 0x9dd9ec]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x10c], 0
jl 0x71323b
cmp dword [ebp - 0x110], 0
jl 0x713206
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x114]
add edx, esi
mov eax, dword [ebp - 0x200]
inc esi
mov cl, byte [ecx + edx]
or byte [eax], cl
inc dword [ebp - 0x200]
cmp esi, 0x20
jb 0x7131df
jmp 0x71323b
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x114]
add edx, esi
mov eax, dword [ebp - 0x200]
inc esi
mov cl, byte [ecx + edx]
not cl
and byte [eax], cl
inc dword [ebp - 0x200]
cmp esi, 0x20
jb 0x713214
cmp dword [ebp - 0x110], 0
jge 0x71324a
neg dword [ebp - 0x110]
cmp dword [ebp - 0x110], 1
jne 0x71325c
and byte [ebp - 0x243], 0xc3
jmp 0x71326c
cmp dword [ebp - 0x110], 2
jne 0x71326c
and byte [ebp - 0x239], 0x7f
cmp dword [ebp - 0x104], 0
je 0x7132b5
xor esi, esi
lea eax, [ebp - 0x224]
mov dword [ebp - 0x204], eax
lea edx, [ebp - 0x244]
mov dword [ebp - 0x200], edx
mov ecx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x204]
inc esi
mov cl, byte [ecx]
not cl
or byte [eax], cl
inc dword [ebp - 0x204]
inc dword [ebp - 0x200]
cmp esi, 0x20
jb 0x71328f
jmp 0x7132f1
xor esi, esi
lea eax, [ebp - 0x224]
mov dword [ebp - 0x200], eax
lea edx, [ebp - 0x244]
mov dword [ebp - 0x204], edx
mov ecx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x200]
inc esi
mov cl, byte [ecx]
or byte [eax], cl
inc dword [ebp - 0x200]
inc dword [ebp - 0x204]
cmp esi, 0x20
jb 0x7132cf
mov edx, dword [ebp - 0x7c]
inc edx
mov dword [edi], edx
mov dword [ebp - 0xc0], 1
mov dword [ebp - 0xc4], 2
jmp 0x713c38
cmp esi, 0x5c
jne 0x71378f
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x38]
push eax
mov edx, dword [ebp - 0x58]
push edx
push 1
lea edx, [ebp - 0xf4]
mov eax, edi
mov ecx, dword [ebp + 0x28]
call fcn.0070f804
mov esi, eax
mov eax, dword [ebp + 0x28]
cmp dword [eax], 0
jne 0x717018
test esi, esi
jne 0x713353
mov esi, dword [ebp - 0xf4]
jmp 0x71378f
cmp esi, 5
jne 0x713362
mov esi, 8
jmp 0x71378f
cmp esi, 0xc
jne 0x71337a
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x47
jmp 0x717018
cmp esi, 0x1a
jne 0x7133b0
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x71339f
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
jne 0x71339f
add dword [edi], 2
jmp 0x713c38
mov dword [ebp - 0x70], 1
jmp 0x713c38
cmp esi, 0x19
je 0x713c38
mov edx, dword [ebp + 0xc]
mov eax, esi
add eax, 0xfffffffa
mov ecx, dword [edx + 8]
mov dword [ebp - 0x11c], ecx
inc dword [ebp - 0xc0]
add dword [ebp - 0xc4], 2
cmp eax, 0x1c
ja case.0x7133e6.6
mov al, byte [eax + 0x7133ed]
jmp dword [eax*4 + 0x71340a]
mov edx, dword [edi]
mov dword [ebp - 0x80], edx
mov ecx, dword [esi*4 + 0x9dda18]
dec ecx
mov dword [edi], ecx
dec dword [ebp - 0xc0]
jmp 0x713c38
xor esi, esi
lea eax, [ebp - 0x224]
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x11c]
lea ecx, [edx + 0x40]
mov dword [ebp - 0x200], ecx
mov ecx, dword [ebp - 0x200]
mov edx, dword [ebp - 0x204]
inc esi
mov al, byte [ecx]
or byte [edx], al
inc dword [ebp - 0x204]
inc dword [ebp - 0x200]
cmp esi, 0x20
jb 0x713475
jmp 0x713c38
mov dword [ebp - 0xac], 1
xor esi, esi
lea eax, [ebp - 0x224]
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x11c]
lea ecx, [edx + 0x40]
mov dword [ebp - 0x204], ecx
mov ecx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x200]
inc esi
mov al, byte [ecx]
not al
or byte [edx], al
inc dword [ebp - 0x200]
inc dword [ebp - 0x204]
cmp esi, 0x20
jb 0x7134c3
jmp 0x713c38
xor esi, esi
lea eax, [ebp - 0x224]
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x11c]
lea ecx, [edx + 0xa0]
mov dword [ebp - 0x200], ecx
mov ecx, dword [ebp - 0x200]
mov edx, dword [ebp - 0x204]
inc esi
mov al, byte [ecx]
or byte [edx], al
inc dword [ebp - 0x204]
inc dword [ebp - 0x200]
cmp esi, 0x20
jb 0x71350c
jmp 0x713c38
mov dword [ebp - 0xac], 1
xor esi, esi
lea eax, [ebp - 0x224]
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x11c]
lea ecx, [edx + 0xa0]
mov dword [ebp - 0x204], ecx
mov ecx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x200]
inc esi
mov al, byte [ecx]
not al
or byte [edx], al
inc dword [ebp - 0x200]
inc dword [ebp - 0x204]
cmp esi, 0x20
jb 0x71355d
jmp 0x713c38
mov ecx, dword [ebp - 0x11c]
mov esi, 2
mov al, byte [ecx]
or byte [ebp - 0x224], al
lea eax, [ebp - 0x222]
mov edx, dword [ebp - 0x11c]
mov cl, byte [edx + 1]
and cl, 0xf7
or byte [ebp - 0x223], cl
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x11c]
lea ecx, [edx + 2]
mov dword [ebp - 0x200], ecx
mov ecx, dword [ebp - 0x200]
mov edx, dword [ebp - 0x204]
inc esi
mov al, byte [ecx]
or byte [edx], al
inc dword [ebp - 0x204]
inc dword [ebp - 0x200]
cmp esi, 0x20
jb 0x7135c6
jmp 0x713c38
mov dword [ebp - 0xac], 1
xor esi, esi
lea eax, [ebp - 0x224]
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x11c]
mov ecx, edx
mov dword [ebp - 0x204], ecx
mov ecx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x200]
inc esi
mov al, byte [ecx]
not al
or byte [edx], al
inc dword [ebp - 0x200]
inc dword [ebp - 0x204]
cmp esi, 0x20
jb 0x713613
or byte [ebp - 0x223], 8
jmp 0x713c38
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x9c]
push ecx
push 0x9dfac0
push 0xffffffffffffffff
lea eax, [ebp - 0x224]
mov ecx, dword [ebp - 0x58]
call fcn.00712700
jmp 0x713c38
mov eax, dword [ebp + 0xc]
push eax
push 0x9dfac0
lea edx, [ebp - 0x9c]
lea eax, [ebp - 0x224]
mov ecx, dword [ebp - 0x58]
call fcn.00712770
jmp 0x713c38
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x224]
push edx
push 0x9dfb10
push 0xffffffffffffffff
lea edx, [ebp - 0x9c]
mov ecx, dword [ebp - 0x58]
call fcn.00712700
jmp 0x713c38
mov ecx, dword [ebp + 0xc]
push ecx
push 0x9dfb10
lea edx, [ebp - 0x9c]
lea eax, [ebp - 0x224]
mov ecx, dword [ebp - 0x58]
call fcn.00712770
jmp 0x713c38
xor eax, eax
xor edx, edx
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x128], edx
lea ecx, [ebp - 0x128]
lea edx, [ebp - 0x120]
push ecx
lea ecx, [ebp - 0x124]
mov eax, dword [ebp + 0x28]
push eax
mov eax, edi
call fcn.0070ffc0
test eax, eax
je 0x717018
cmp esi, 0x10
sete cl
and ecx, 1
cmp ecx, dword [ebp - 0x120]
je 0x71371a
mov al, 3
jmp 0x71371c
mov al, 4
mov edx, dword [ebp - 0x9c]
mov byte [edx], al
inc dword [ebp - 0x9c]
mov cl, byte [ebp - 0x124]
mov esi, dword [ebp - 0x9c]
mov byte [esi], cl
inc dword [ebp - 0x9c]
mov al, byte [ebp - 0x128]
mov edx, dword [ebp - 0x9c]
mov byte [edx], al
inc dword [ebp - 0x9c]
dec dword [ebp - 0xc0]
jmp 0x713c38
test byte [ebp - 0x58], 0x40
je 0x713771
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 7
jmp 0x717018
dec dword [ebp - 0xc0]
sub dword [ebp - 0xc4], 2
mov ecx, dword [edi]
movzx esi, byte [ecx]
jmp 0x71378f
xor eax, eax
mov dword [ebp - 0x70], eax
add dword [edi], 2
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x7137a7
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
je 0x713787
mov edx, dword [edi]
cmp esi, 0xd
mov dword [ebp - 0x100], edx
je 0x7137b9
cmp esi, 0xa
jne 0x7137c3
mov ecx, dword [ebp + 0xc]
or dword [ecx + 0x54], 0x800
cmp dword [ebp - 0x70], 0
jne 0x713adc
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2d
jne 0x713adc
add dword [edi], 2
jmp 0x7137e5
add dword [edi], 2
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5c
jne 0x713826
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x45
je 0x7137e2
jmp 0x713826
add dword [edi], 2
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5c
jne 0x71381d
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x45
jne 0x71381d
add dword [edi], 2
jmp 0x713826
mov dword [ebp - 0x70], 1
jmp 0x71383d
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x5c
jne 0x71383d
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x51
je 0x7137fe
mov ecx, dword [edi]
cmp byte [ecx], 0
je 0x713855
cmp dword [ebp - 0x70], 0
jne 0x713862
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5d
jne 0x713862
mov ecx, dword [ebp - 0x100]
mov dword [edi], ecx
jmp 0x713adc
cmp dword [ebp - 0x90], 0
je 0x7139fc
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 0xc0
jb 0x713a07
test byte [ebp - 0x12c], 0x20
jne 0x7138b9
mov eax, dword [edi]
mov ecx, dword [ebp - 0x12c]
and ecx, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x12c], ecx
inc dword [edi]
jmp 0x713a07
test byte [ebp - 0x12c], 0x10
jne 0x7138f7
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x12c]
and ecx, 0xf
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 6
shl ecx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x12c], ecx
add dword [edi], 2
jmp 0x713a07
test byte [ebp - 0x12c], 8
jne 0x713944
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x12c]
and ecx, 7
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 0xc
shl ecx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x12c], ecx
add dword [edi], 3
jmp 0x713a07
test byte [ebp - 0x12c], 4
jne 0x71399d
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x12c]
and ecx, 3
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 0x12
shl ecx, 0x18
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x12c], ecx
add dword [edi], 4
jmp 0x713a07
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x12c]
and ecx, 1
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 0x18
shl ecx, 0x1e
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 5]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x12c], ecx
add dword [edi], 5
jmp 0x713a07
mov ecx, dword [edi]
movzx ecx, byte [ecx]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x70], 0
jne 0x713a6d
cmp dword [ebp - 0x12c], 0x5c
jne 0x713a6d
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x38]
mov eax, edi
push edx
lea edx, [ebp - 0x12c]
mov ecx, dword [ebp - 0x58]
push ecx
push 1
mov ecx, dword [ebp + 0x28]
call fcn.0070f804
mov dword [ebp - 0x130], eax
mov eax, dword [ebp + 0x28]
cmp dword [eax], 0
jne 0x717018
cmp dword [ebp - 0x130], 0
je 0x713a6d
cmp dword [ebp - 0x130], 5
jne 0x713a63
mov dword [ebp - 0x12c], 8
jmp 0x713a6d
mov edx, dword [ebp - 0x100]
mov dword [edi], edx
jmp 0x713adc
cmp esi, dword [ebp - 0x12c]
jbe 0x713a83
mov esi, dword [ebp + 0x28]
mov dword [esi], 8
jmp 0x717018
cmp esi, dword [ebp - 0x12c]
je 0x713adc
mov dword [ebp - 0xc4], 2
cmp dword [ebp - 0x12c], 0xd
je 0x713aa7
cmp dword [ebp - 0x12c], 0xa
jne 0x713ab1
mov eax, dword [ebp + 0xc]
or dword [eax + 0x54], 0x800
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x224]
push edx
push esi
mov ecx, dword [ebp - 0x12c]
lea edx, [ebp - 0x9c]
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.00712544
add dword [ebp - 0xc0], eax
jmp 0x713c38
cmp dword [ebp - 0xc4], 2
jge 0x713aeb
inc dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], 1
jne 0x713c18
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x5d
jne 0x713c18
inc dword [edi]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0xa8], 0
je 0x713bdb
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x713b30
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x90], 0
je 0x713ba4
test byte [ebp - 0x58], 1
je 0x713ba4
mov ecx, esi
test ecx, ecx
jns 0x713b54
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x9ef858]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x713b71
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x9e2d58]
xor eax, eax
mov al, byte [ecx*8 + 0x9e19bb]
mov dword [ebp - 0x134], eax
test eax, eax
je 0x713ba4
mov byte [ebx], 0xf
inc ebx
mov byte [ebx], 9
inc ebx
mov dl, byte [ebp - 0x134]
mov byte [ebx], dl
inc ebx
jmp 0x717011
test byte [ebp - 0x58], 1
je 0x713bae
mov cl, 0x20
jmp 0x713bb0
mov cl, 0x1f
mov byte [ebx], cl
inc ebx
cmp dword [ebp - 0x90], 0
je 0x713bd1
cmp esi, 0x7f
jbe 0x713bd1
mov edx, ebx
mov eax, esi
call fcn.00720a88
add ebx, eax
jmp 0x717011
mov ecx, esi
mov byte [ebx], cl
inc ebx
jmp 0x717011
cmp dword [ebp - 0x90], 0
je 0x713c01
cmp esi, 0x7f
jbe 0x713c01
lea edx, [ebp - 0xfc]
mov eax, esi
call fcn.00720a88
mov dword [ebp - 0xec], eax
jmp 0x716d41
mov ecx, esi
mov byte [ebp - 0xfc], cl
mov dword [ebp - 0xec], 1
jmp 0x716d41
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x9c]
push eax
push esi
push esi
lea eax, [ebp - 0x224]
mov ecx, dword [ebp - 0x58]
call fcn.00712544
add dword [ebp - 0xc0], eax
inc dword [edi]
mov edx, dword [edi]
movzx esi, byte [edx]
test esi, esi
jne 0x713c5e
cmp dword [ebp - 0x80], 0
je 0x713c71
mov eax, dword [ebp - 0x80]
xor edx, edx
mov dword [edi], eax
mov dword [ebp - 0x80], edx
inc dword [edi]
mov ecx, dword [edi]
movzx esi, byte [ecx]
test esi, esi
je 0x713c71
cmp esi, 0x5d
jne 0x712e7f
cmp dword [ebp - 0x70], 0
jne 0x712e7f
test esi, esi
jne 0x713c83
mov eax, dword [ebp + 0x28]
mov dword [eax], 6
jmp 0x717018
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebp - 0xa4]
jbe 0x713c9b
mov dword [ebp - 0xa0], 1
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x713ca8
mov dword [ebp - 0x34], 0xffffffff
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0xa0], 0
je 0x713d89
cmp dword [ebp - 0xac], 0
je 0x713ce0
test byte [ebp - 0x55], 0x20
je 0x713d89
mov ecx, dword [ebp - 0x9c]
mov byte [ecx], 0
inc dword [ebp - 0x9c]
mov byte [ebx], 0x6c
inc ebx
add ebx, 3
cmp dword [ebp - 0xa8], 0
je 0x713d03
mov al, 1
jmp 0x713d05
xor eax, eax
mov byte [ebx], al
cmp dword [ebp - 0xc0], 0
jle 0x713d43
or byte [ebx], 2
inc ebx
mov ecx, dword [ebp - 0x9c]
sub ecx, ebx
lea eax, [ebx + 0x20]
mov edx, ebx
call fcn.0070f4d0
lea edx, [ebp - 0x224]
mov ecx, 0x20
mov eax, ebx
call fcn.0070f4c0
mov ebx, dword [ebp - 0x9c]
add ebx, 0x20
jmp 0x713d49
mov ebx, dword [ebp - 0x9c]
mov eax, ebx
mov edx, dword [ebp - 0x84]
sub eax, dword [ebp - 0x84]
mov ecx, ebx
sar eax, 0x10
mov byte [edx + 1], al
mov eax, ebx
sub ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x84]
sar ecx, 8
mov byte [esi + 2], cl
sub eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
and al, 0xff
mov byte [edx + 3], al
jmp 0x717011
mov ecx, dword [ebp - 0xa8]
cmp ecx, dword [ebp - 0xac]
jne 0x713d9b
mov cl, 0x6a
jmp 0x713d9d
mov cl, 0x6b
mov byte [ebx], cl
inc ebx
cmp dword [ebp + 8], 0
jne 0x713de3
cmp dword [ebp - 0xa8], 0
je 0x713dd1
xor esi, esi
lea eax, [ebp - 0x224]
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x200]
not byte [edx]
inc esi
inc dword [ebp - 0x200]
cmp esi, 0x20
jb 0x713dbd
lea edx, [ebp - 0x224]
mov ecx, 0x20
mov eax, ebx
call fcn.0070f4c0
add ebx, 0x20
jmp 0x717011
cmp dword [ebp - 0xb4], 0
je 0x716cee
mov ecx, dword [ebp + 0x28]
push ecx
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x18]
mov eax, dword [edi]
inc eax
call fcn.007100f8
mov dword [edi], eax
mov ecx, dword [ebp + 0x28]
cmp dword [ecx], 0
jne 0x717018
jmp 0x713e44
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x713e44
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x713e44
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x84], 0
jne 0x713e5b
mov esi, dword [ebp + 0x28]
mov dword [esi], 9
jmp 0x717018
cmp dword [ebp - 0x18], 0
jne 0x713e79
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jne 0x713e85
xor edx, edx
jmp 0x713e8a
mov edx, 2
mov dword [ebp - 0x50], edx
xor eax, eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x6c], ecx
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2b
jne 0x713ec2
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xb0], 1
inc dword [edi]
jmp 0x713ede
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3f
jne 0x713ed8
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
inc dword [edi]
jmp 0x713ede
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x6f
jne 0x714009
mov eax, dword [ebp - 0x84]
add eax, 4
mov ecx, 4
mov edx, dword [ebp - 0x84]
call fcn.0070f4d0
mov eax, dword [ebp - 0x84]
add ebx, 8
mov byte [eax], 0x7b
mov ecx, dword [ebp - 0x84]
mov byte [ecx + 1], 0
mov eax, dword [ebp - 0x84]
mov byte [eax + 2], 0
mov edx, dword [ebp - 0x84]
mov byte [edx + 3], 8
mov ecx, dword [ebp - 0x84]
mov byte [ecx + 8], 0x72
mov eax, dword [ebp - 0x84]
mov byte [eax + 9], 0
mov edx, dword [ebp - 0x84]
mov byte [edx + 0xa], 0
mov ecx, dword [ebp - 0x84]
mov byte [ecx + 0xb], 8
mov dword [ebp - 0x60], 0xc
cmp dword [ebp + 8], 0
jne 0x714009
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
add ecx, 3
cmp edx, ecx
jb 0x714009
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ecx, dword [edx + 0x24]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x24]
mov al, byte [ecx - 3]
xor ecx, ecx
mov cl, byte [edx - 2]
mov edx, dword [ebp + 0xc]
shl ecx, 8
shl eax, 0x10
or eax, ecx
mov ecx, dword [edx + 0x24]
xor edx, edx
mov dl, byte [ecx - 1]
or eax, edx
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x84]
inc eax
sub eax, dword [ecx + 0x14]
cmp eax, dword [ebp - 0x138]
jne 0x714009
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x138]
add ecx, 4
sar ecx, 0x10
mov edx, dword [eax + 0x24]
mov byte [edx - 3], cl
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x138]
add ecx, 4
sar ecx, 8
mov edx, dword [eax + 0x24]
mov byte [edx - 2], cl
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp - 0x138]
add cl, 4
and cl, 0xff
mov edx, dword [eax + 0x24]
mov byte [edx - 1], cl
mov ecx, dword [ebp - 0x84]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x1d
je 0x714049
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x1e
je 0x714049
mov eax, dword [ebp - 0x84]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1f
je 0x714049
mov ecx, dword [ebp - 0x84]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x20
jne 0x71415f
mov edx, dword [ebp - 0x84]
mov cl, byte [edx]
sub cl, 0x1d
je 0x714062
dec cl
je 0x714069
dec cl
je 0x714072
dec cl
je 0x71407b
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x714082
mov dword [ebp - 0x14], 0xd
jmp 0x714082
mov dword [ebp - 0x14], 0x1a
jmp 0x714082
mov dword [ebp - 0x14], 0x27
cmp dword [ebp - 0x90], 0
je 0x7140ea
xor edx, edx
mov dl, byte [ebx - 1]
and edx, 0xc0
cmp edx, 0x80
jne 0x7140ea
lea ecx, [ebx - 1]
mov dword [ebp - 0x13c], ecx
jmp 0x7140af
dec dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x7140a9
mov esi, ebx
lea eax, [ebp - 0x98]
sub esi, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x13c]
mov ecx, esi
call fcn.0070f4c0
or esi, 0x10000000
jmp 0x714112
movzx esi, byte [ebx - 1]
mov eax, dword [ebp - 0x84]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1e
jg 0x714112
cmp dword [ebp - 0x18], 1
jle 0x714112
mov dword [ebp - 0x30], esi
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x58]
or ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0xb0], 0
jne 0x7141c0
cmp dword [ebp - 0x1c], 0
jge 0x7141c0
mov eax, dword [ebp - 0x58]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [edi]
inc ecx
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x84]
call fcn.00711794
test eax, eax
je 0x7141c0
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xb0], 1
jmp 0x7141c0
mov eax, dword [ebp - 0x84]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x17
jge 0x714427
mov dword [ebp - 0x14], 0x34
mov ecx, dword [ebp - 0x84]
cmp dword [ebp - 0xb0], 0
movzx esi, byte [ecx]
jne 0x7141c0
cmp dword [ebp - 0x1c], 0
jge 0x7141c0
mov eax, dword [ebp - 0x58]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [edi]
inc ecx
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x84]
call fcn.00711794
test eax, eax
je 0x7141c0
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xb0], 1
mov ecx, dword [ebp - 0x84]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x10
je 0x7141de
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0xf
jne 0x714202
mov eax, dword [ebp - 0x84]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [ebp - 0x144], edx
mov ecx, dword [ebp - 0x84]
xor eax, eax
mov al, byte [ecx + 2]
mov dword [ebp - 0x148], eax
jmp 0x714211
or edx, 0xffffffff
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x140], ebx
cmp dword [ebp - 0x1c], 0
mov ebx, dword [ebp - 0x84]
je 0x715180
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x10], eax
cmp dword [ebp - 0x18], 0
jne 0x71427d
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x714247
mov dl, byte [ebp - 0x10]
add dl, 0x21
mov byte [ebx], dl
inc ebx
jmp 0x7143d4
cmp dword [ebp - 0x1c], 1
jne 0x71425b
mov cl, byte [ebp - 0x10]
add cl, 0x25
mov byte [ebx], cl
inc ebx
jmp 0x7143d4
mov cl, byte [ebp - 0x10]
add cl, 0x27
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp - 0x1c]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x1c]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
jmp 0x7143d4
cmp dword [ebp - 0x18], 1
jne 0x7142cc
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x714297
mov cl, byte [ebp - 0x10]
add cl, 0x23
mov byte [ebx], cl
inc ebx
jmp 0x7143d4
cmp dword [ebp - 0x1c], 1
mov ebx, dword [ebp - 0x140]
je 0x715180
mov al, byte [ebp - 0x10]
add al, 0x27
mov byte [ebx], al
inc ebx
mov edx, dword [ebp - 0x1c]
dec edx
sar edx, 8
mov byte [ebx], dl
mov cl, byte [ebp - 0x1c]
add cl, 0xff
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
jmp 0x7143d4
mov cl, byte [ebp - 0x14]
add cl, 0x29
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp - 0x18]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x18]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
cmp dword [ebp - 0x1c], 0
jge 0x714348
cmp dword [ebp - 0x90], 0
je 0x71431b
test esi, 0x10000000
je 0x71431b
mov ecx, esi
and ecx, 7
lea edx, [ebp - 0x98]
mov eax, ebx
call fcn.0070f4c0
mov ecx, esi
and ecx, 7
add ebx, ecx
jmp 0x71433b
mov eax, esi
mov byte [ebx], al
inc ebx
cmp dword [ebp - 0x144], 0
jl 0x71433b
mov dl, byte [ebp - 0x144]
mov byte [ebx], dl
inc ebx
mov cl, byte [ebp - 0x148]
mov byte [ebx], cl
inc ebx
mov al, byte [ebp - 0x10]
add al, 0x21
mov byte [ebx], al
inc ebx
jmp 0x7143d4
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x18]
je 0x7143d4
cmp dword [ebp - 0x90], 0
je 0x714380
test esi, 0x10000000
je 0x714380
mov ecx, esi
and ecx, 7
lea edx, [ebp - 0x98]
mov eax, ebx
call fcn.0070f4c0
mov ecx, esi
and ecx, 7
add ebx, ecx
jmp 0x714385
mov eax, esi
mov byte [ebx], al
inc ebx
cmp dword [ebp - 0x144], 0
jl 0x7143a0
mov dl, byte [ebp - 0x144]
mov byte [ebx], dl
inc ebx
mov cl, byte [ebp - 0x148]
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp - 0x18]
sub dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jne 0x7143b7
mov dl, byte [ebp - 0x10]
add dl, 0x25
mov byte [ebx], dl
inc ebx
jmp 0x7143d4
mov cl, byte [ebp - 0x10]
add cl, 0x27
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp - 0x1c]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x1c]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
cmp dword [ebp - 0x90], 0
je 0x7143fe
test esi, 0x10000000
je 0x7143fe
mov ecx, esi
and ecx, 7
lea edx, [ebp - 0x98]
mov eax, ebx
call fcn.0070f4c0
and esi, 7
add ebx, esi
jmp 0x714403
mov ecx, esi
mov byte [ebx], cl
inc ebx
cmp dword [ebp - 0x144], 0
jl 0x714e99
mov al, byte [ebp - 0x144]
mov byte [ebx], al
inc ebx
mov dl, byte [ebp - 0x148]
mov byte [ebx], dl
inc ebx
jmp 0x714e99
mov ecx, dword [ebp - 0x84]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x6a
je 0x714476
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x6b
je 0x714476
mov eax, dword [ebp - 0x84]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x6c
je 0x714476
mov ecx, dword [ebp - 0x84]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x6d
je 0x714476
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x6e
jne 0x714515
cmp dword [ebp - 0x1c], 0
jne 0x714487
mov ebx, dword [ebp - 0x84]
jmp 0x715180
cmp dword [ebp - 0x18], 0
jne 0x7144a0
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x7144a0
mov al, byte [ebp - 0x10]
add al, 0x62
mov byte [ebx], al
inc ebx
jmp 0x714e99
cmp dword [ebp - 0x18], 1
jne 0x7144ba
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x7144ba
mov dl, byte [ebp - 0x10]
add dl, 0x64
mov byte [ebx], dl
inc ebx
jmp 0x714e99
cmp dword [ebp - 0x18], 0
jne 0x7144d4
cmp dword [ebp - 0x1c], 1
jne 0x7144d4
mov cl, byte [ebp - 0x10]
add cl, 0x66
mov byte [ebx], cl
inc ebx
jmp 0x714e99
mov cl, byte [ebp - 0x10]
add cl, 0x68
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp - 0x18]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x18]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x7144fc
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x1c]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
jmp 0x714e99
mov ecx, dword [ebp - 0x84]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x77
jl 0x714e75
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x81
jg 0x714e75
mov esi, ebx
xor eax, eax
sub esi, dword [ebp - 0x84]
xor edx, edx
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x154], edx
mov ecx, dword [ebp - 0x84]
movzx ecx, byte [ecx]
cmp ecx, 0x81
jne 0x71457e
mov eax, dword [ebp - 0x84]
xor edx, edx
mov dl, byte [eax + 4]
cmp edx, 0x8b
je 0x715180
mov ecx, dword [ebp - 0x84]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x7b
jge 0x7145aa
cmp dword [ebp - 0x18], 0
jg 0x715180
cmp dword [ebp - 0x1c], 0
jl 0x7145a3
cmp dword [ebp - 0x1c], 1
jle 0x7145aa
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x18], 0
jne 0x7146fb
cmp dword [ebp - 0x1c], 1
jg 0x71462c
mov byte [ebx], 0
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x90]
mov edx, 1
mov eax, dword [ebp - 0x84]
call fcn.00711328
mov eax, dword [ebp - 0x84]
inc eax
mov ecx, esi
mov edx, dword [ebp - 0x84]
call fcn.0070f4d0
inc ebx
cmp dword [ebp - 0x1c], 0
jne 0x714607
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 0x9b
jmp 0x715180
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x84]
mov dl, byte [ebp - 0x10]
add dl, 0x8c
mov byte [eax], dl
inc dword [ebp - 0x84]
jmp 0x7146f3
mov byte [ebx], 0
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x90]
mov edx, 5
mov eax, dword [ebp - 0x84]
call fcn.00711328
mov eax, dword [ebp - 0x84]
add eax, 5
mov ecx, esi
mov edx, dword [ebp - 0x84]
call fcn.0070f4d0
mov eax, dword [ebp - 0x84]
mov cl, byte [ebp - 0x10]
add cl, 0x8c
add ebx, 5
mov byte [eax], cl
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
mov byte [edx], 0x7d
inc dword [ebp - 0x84]
cmp dword [ebp - 0x150], 0
jne 0x714699
xor ecx, ecx
jmp 0x7146a5
mov ecx, dword [ebp - 0x84]
sub ecx, dword [ebp - 0x150]
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x84]
sar edx, 0x10
mov byte [eax], dl
mov edx, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x84]
sar edx, 8
mov byte [ecx + 1], dl
mov eax, dword [ebp - 0x84]
mov cl, byte [ebp - 0x158]
and cl, 0xff
mov byte [eax + 2], cl
add dword [ebp - 0x84], 3
dec dword [ebp - 0x1c]
jmp 0x7148fb
cmp dword [ebp - 0x18], 1
jle 0x7148ef
cmp dword [ebp + 8], 0
je 0x714769
mov edx, dword [ebp - 0x18]
dec edx
imul edx, dword [ebp - 0x60]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x60]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
dec eax
cdq
call fcn.0070f2a8
cmp edx, 0
jne 0x714737
cmp eax, 0x7fffffff
ja 0x71474b
jmp 0x714739
jg 0x71474b
mov ecx, dword [ebp + 8]
mov eax, 0x7fffffeb
sub eax, dword [ecx]
cmp eax, dword [ebp - 0x15c]
jge 0x714759
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x14
jmp 0x717018
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x15c]
add dword [ecx], eax
jmp 0x7148ef
cmp dword [ebp - 0x74], 0
je 0x714781
cmp dword [ebp - 0x38], 0
jge 0x714781
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x14c], 1
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x18]
jge 0x7148ef
mov eax, dword [ebp + 0xc]
mov ecx, esi
mov edx, dword [eax + 0x24]
mov eax, ebx
mov dword [ebp - 0x160], edx
mov edx, dword [ebp - 0x84]
call fcn.0070f4c0
jmp 0x714818
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x164], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x160]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp + 0xc]
call fcn.0070f704
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
mov ecx, dword [ebp + 0x28]
cmp dword [ecx], 0
jne 0x717018
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
add eax, dword [ebp - 0x164]
mov dword [ebp - 0x8c], eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x168]
mov dword [ebp - 0x160], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x160]
sub ecx, dword [ebp - 0x8c]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
add edx, dword [eax + 0x34]
mov eax, dword [ebp + 0xc]
add edx, 0xffffff9c
sub edx, ecx
cmp edx, dword [eax + 0x24]
jb 0x7147b7
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x160]
jae 0x7148cc
xor edx, edx
xor ecx, ecx
mov cl, byte [eax + 1]
mov dl, byte [eax]
shl ecx, 8
shl edx, 0x10
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 2]
or edx, ecx
mov ecx, dword [ebp + 0xc]
add edx, esi
sar edx, 0x10
mov ecx, dword [ecx + 0x24]
mov byte [ecx], dl
xor ecx, ecx
xor edx, edx
mov cl, byte [eax + 1]
mov dl, byte [eax]
shl ecx, 8
shl edx, 0x10
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 2]
or edx, ecx
mov ecx, dword [ebp + 0xc]
add edx, esi
sar edx, 8
mov ecx, dword [ecx + 0x24]
mov byte [ecx + 1], dl
mov cl, byte [eax + 1]
mov dl, byte [eax]
shl edx, 0x10
shl ecx, 8
or dl, cl
mov ecx, esi
or dl, byte [eax + 2]
add dl, cl
mov ecx, dword [ebp + 0xc]
and dl, 0xff
mov ecx, dword [ecx + 0x24]
mov byte [ecx + 2], dl
mov edx, dword [ebp + 0xc]
add dword [edx + 0x24], 3
add eax, 3
cmp eax, dword [ebp - 0x160]
jb 0x71484f
mov eax, dword [ebp - 0x160]
add ebx, esi
mov dword [ebp - 0x8c], eax
inc dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x18]
jl 0x71479a
cmp dword [ebp - 0x1c], 0
jle 0x7148fb
mov eax, dword [ebp - 0x18]
sub dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x714c1f
cmp dword [ebp + 8], 0
je 0x714976
cmp dword [ebp - 0x1c], 0
jle 0x714976
mov edx, dword [ebp - 0x60]
add edx, 9
imul edx, dword [ebp - 0x1c]
add edx, 0xfffffff8
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x60]
add eax, 9
cdq
push edx
push eax
mov eax, dword [ebp - 0x1c]
cdq
call fcn.0070f2a8
cmp edx, 0
jne 0x714944
cmp eax, 0x7fffffff
ja 0x714958
jmp 0x714946
jg 0x714958
mov ecx, dword [ebp + 8]
mov esi, 0x7fffffeb
sub esi, dword [ecx]
cmp esi, dword [ebp - 0x16c]
jge 0x714966
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x14
jmp 0x717018
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x16c]
add dword [edx], ecx
jmp 0x714b84
mov ecx, dword [ebp - 0x1c]
dec ecx
mov dword [ebp - 0x14c], ecx
cmp dword [ebp - 0x14c], 0
jl 0x714b84
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x170], edx
mov cl, byte [ebp - 0x10]
add cl, 0x8c
mov byte [ebx], cl
inc ebx
cmp dword [ebp - 0x14c], 0
je 0x7149f6
mov byte [ebx], 0x7d
inc ebx
cmp dword [ebp - 0x150], 0
jne 0x7149bc
xor eax, eax
jmp 0x7149c4
mov eax, ebx
sub eax, dword [ebp - 0x150]
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x150], ebx
mov edx, dword [ebp - 0x174]
sar edx, 0x10
mov byte [ebx], dl
mov ecx, dword [ebp - 0x174]
sar ecx, 8
mov byte [ebx + 1], cl
mov cl, byte [ebp - 0x174]
and cl, 0xff
mov byte [ebx + 2], cl
add ebx, 3
mov ecx, esi
mov edx, dword [ebp - 0x84]
mov eax, ebx
call fcn.0070f4c0
jmp 0x714a68
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x178], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x170]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp + 0xc]
call fcn.0070f704
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
mov ecx, dword [ebp + 0x28]
cmp dword [ecx], 0
jne 0x717018
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
add eax, dword [ebp - 0x178]
mov dword [ebp - 0x8c], eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x170], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x170]
sub ecx, dword [ebp - 0x8c]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
add edx, dword [eax + 0x34]
mov eax, dword [ebp + 0xc]
add edx, 0xffffff9c
sub edx, ecx
cmp edx, dword [eax + 0x24]
jb 0x714a07
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x170]
jae 0x714b63
xor edx, edx
xor ecx, ecx
mov cl, byte [eax + 1]
mov dl, byte [eax]
shl ecx, 8
shl edx, 0x10
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 2]
or edx, ecx
add edx, esi
cmp dword [ebp - 0x14c], 0
je 0x714acd
mov ecx, 5
jmp 0x714ad2
mov ecx, 1
add edx, ecx
mov ecx, dword [ebp + 0xc]
sar edx, 0x10
mov ecx, dword [ecx + 0x24]
mov byte [ecx], dl
xor ecx, ecx
xor edx, edx
mov cl, byte [eax + 1]
mov dl, byte [eax]
shl ecx, 8
shl edx, 0x10
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 2]
or edx, ecx
add edx, esi
cmp dword [ebp - 0x14c], 0
je 0x714b09
mov ecx, 5
jmp 0x714b0e
mov ecx, 1
add edx, ecx
mov ecx, dword [ebp + 0xc]
sar edx, 8
mov ecx, dword [ecx + 0x24]
mov byte [ecx + 1], dl
mov cl, byte [eax + 1]
mov dl, byte [eax]
shl edx, 0x10
shl ecx, 8
or dl, cl
mov ecx, esi
or dl, byte [eax + 2]
add dl, cl
cmp dword [ebp - 0x14c], 0
je 0x714b3d
mov cl, 5
jmp 0x714b3f
mov cl, 1
add dl, cl
mov ecx, dword [ebp + 0xc]
and dl, 0xff
mov ecx, dword [ecx + 0x24]
mov byte [ecx + 2], dl
mov edx, dword [ebp + 0xc]
add dword [edx + 0x24], 3
add eax, 3
cmp eax, dword [ebp - 0x170]
jb 0x714aa3
mov eax, dword [ebp - 0x170]
add ebx, esi
mov dword [ebp - 0x8c], eax
dec dword [ebp - 0x14c]
cmp dword [ebp - 0x14c], 0
jge 0x71498d
cmp dword [ebp - 0x150], 0
je 0x714e99
mov eax, ebx
sub eax, dword [ebp - 0x150]
inc eax
mov edx, ebx
sub edx, eax
xor ecx, ecx
mov cl, byte [edx + 1]
shl ecx, 0x10
movzx esi, byte [edx + 2]
shl esi, 8
or ecx, esi
movzx esi, byte [edx + 3]
or ecx, esi
mov dword [ebp - 0x180], ecx
cmp dword [ebp - 0x180], 0
jne 0x714bc8
xor ecx, ecx
jmp 0x714bd4
mov ecx, dword [ebp - 0x150]
sub ecx, dword [ebp - 0x180]
mov dword [ebp - 0x150], ecx
mov byte [ebx], 0x72
inc ebx
mov ecx, eax
sar ecx, 0x10
mov byte [ebx], cl
mov ecx, eax
sar ecx, 8
mov byte [ebx + 1], cl
mov ecx, eax
and cl, 0xff
mov byte [ebx + 2], cl
mov ecx, eax
sar ecx, 0x10
add ebx, 3
mov byte [edx + 1], cl
mov ecx, eax
sar ecx, 8
and al, 0xff
mov byte [edx + 2], cl
mov byte [edx + 3], al
cmp dword [ebp - 0x150], 0
jne 0x714b91
jmp 0x714e99
lea eax, [ebx - 4]
xor ecx, ecx
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x184]
mov esi, dword [ebp - 0x184]
mov cl, byte [edx + 1]
xor edx, edx
mov dl, byte [eax + 2]
xor eax, eax
shl edx, 8
mov al, byte [esi + 3]
shl ecx, 0x10
or ecx, edx
mov edx, dword [ebp - 0x184]
or ecx, eax
sub edx, ecx
mov dword [ebp - 0x188], edx
mov ecx, dword [ebp - 0x188]
movzx ecx, byte [ecx]
cmp ecx, 0x7b
je 0x714c7e
mov eax, dword [ebp - 0x188]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x7c
jne 0x714c90
cmp dword [ebp - 0xb0], 0
je 0x714c90
mov ecx, dword [ebp - 0x188]
mov byte [ecx], 0x7d
mov eax, dword [ebp - 0x188]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x7b
je 0x714cae
mov ecx, dword [ebp - 0x188]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x7c
jne 0x714cc1
mov eax, dword [ebp - 0x184]
mov dl, byte [ebp - 0x10]
add dl, 0x73
mov byte [eax], dl
jmp 0x714e99
cmp dword [ebp + 8], 0
jne 0x714d3d
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x18c], edx
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x18c]
call fcn.00710d08
test eax, eax
je 0x714cfd
mov ecx, dword [ebp - 0x188]
add byte [ecx], 5
jmp 0x714d3d
mov eax, dword [ebp - 0x18c]
xor edx, edx
xor ecx, ecx
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x18c]
shl edx, 0x10
mov cl, byte [eax + 2]
shl ecx, 8
mov eax, dword [ebp - 0x18c]
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 3]
or edx, ecx
add dword [ebp - 0x18c], edx
mov edx, dword [ebp - 0x18c]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x71
je 0x714cd3
cmp dword [ebp - 0xb0], 0
je 0x714e65
mov eax, dword [ebp - 0x188]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x81
je 0x714d71
mov ecx, dword [ebp - 0x188]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x86
jne 0x714e32
mov edx, ebx
sub edx, dword [ebp - 0x188]
mov dword [ebp - 0x190], edx
mov byte [ebx], 0
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x90]
mov edx, 4
mov eax, dword [ebp - 0x188]
call fcn.00711328
mov eax, dword [ebp - 0x188]
add eax, 4
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x188]
call fcn.0070f4d0
add dword [ebp - 0x190], 4
mov ecx, dword [ebp - 0x188]
add ebx, 4
mov byte [ecx], 0x7e
mov byte [ebx], 0x75
inc ebx
mov eax, dword [ebp - 0x190]
sar eax, 0x10
mov byte [ebx], al
mov edx, dword [ebp - 0x190]
sar edx, 8
mov byte [ebx + 1], dl
mov cl, byte [ebp - 0x190]
and cl, 0xff
mov byte [ebx + 2], cl
add ebx, 3
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x188]
sar eax, 0x10
mov byte [edx + 1], al
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x188]
sar ecx, 8
mov byte [eax + 2], cl
mov eax, dword [ebp - 0x188]
mov dl, byte [ebp - 0x190]
and dl, 0xff
mov byte [eax + 3], dl
jmp 0x714e43
mov edx, dword [ebp - 0x188]
inc byte [edx]
mov ecx, dword [ebp - 0x184]
mov byte [ecx], 0x75
cmp dword [ebp - 0x154], 0
je 0x714e55
mov ecx, dword [ebp - 0x154]
mov byte [ecx], 0x8e
cmp dword [ebp - 0x18], 2
jge 0x714e99
xor eax, eax
mov dword [ebp - 0xb0], eax
jmp 0x714e99
mov eax, dword [ebp - 0x184]
mov dl, byte [ebp - 0x10]
add dl, 0x73
mov byte [eax], dl
jmp 0x714e99
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x97
je 0x715180
mov esi, dword [ebp + 0x28]
mov dword [esi], 0xb
jmp 0x717018
cmp dword [ebp - 0xb0], 0
je 0x715180
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5d
jne 0x714ee9
mov ecx, dword [ebp - 0x6c]
movzx ecx, byte [ecx + 3]
cmp ecx, 0x10
je 0x714ecb
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0xf
jne 0x714ed2
mov ecx, 2
jmp 0x714ed4
xor ecx, ecx
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [eax]
movzx esi, byte [edx + 0x9dffcc]
add ecx, esi
add dword [ebp - 0x6c], ecx
jmp 0x714f41
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
je 0x714f00
mov ecx, dword [ebp - 0x6c]
movzx ecx, byte [ecx]
cmp ecx, 0x43
jne 0x714f41
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [eax]
xor ecx, ecx
mov cl, byte [edx + 0x9dffcc]
add dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x90], 0
je 0x714f41
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [eax - 1]
cmp edx, 0xc0
jl 0x714f41
mov ecx, dword [ebp - 0x6c]
xor eax, eax
mov al, byte [ecx - 1]
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x9e0068]
add dword [ebp - 0x6c], edx
mov ecx, ebx
sub ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x194], ecx
cmp dword [ebp - 0x194], 0
jle 0x715180
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dl, byte [eax]
add edx, 0xffffffdf
cmp edx, 0x3a
ja case.0x714f72.33
mov dl, byte [edx + 0x714f79]
jmp dword [edx*4 + 0x714fb4]
mov ecx, dword [ebp - 0x6c]
mov byte [ecx], 0x2a
jmp 0x715180
mov eax, dword [ebp - 0x6c]
mov byte [eax], 0x2b
jmp 0x715180
mov edx, dword [ebp - 0x6c]
mov byte [edx], 0x2c
jmp 0x715180
mov ecx, dword [ebp - 0x6c]
mov byte [ecx], 0x2d
jmp 0x715180
mov eax, dword [ebp - 0x6c]
mov byte [eax], 0x37
jmp 0x715180
mov edx, dword [ebp - 0x6c]
mov byte [edx], 0x38
jmp 0x715180
mov ecx, dword [ebp - 0x6c]
mov byte [ecx], 0x39
jmp 0x715180
mov eax, dword [ebp - 0x6c]
mov byte [eax], 0x3a
jmp 0x715180
mov edx, dword [ebp - 0x6c]
mov byte [edx], 0x44
jmp 0x715180
mov ecx, dword [ebp - 0x6c]
mov byte [ecx], 0x45
jmp 0x715180
mov eax, dword [ebp - 0x6c]
mov byte [eax], 0x46
jmp 0x715180
mov edx, dword [ebp - 0x6c]
mov byte [edx], 0x47
jmp 0x715180
mov ecx, dword [ebp - 0x6c]
mov byte [ecx], 0x51
jmp 0x715180
mov eax, dword [ebp - 0x6c]
mov byte [eax], 0x52
jmp 0x715180
mov edx, dword [ebp - 0x6c]
mov byte [edx], 0x53
jmp 0x715180
mov ecx, dword [ebp - 0x6c]
mov byte [ecx], 0x54
jmp 0x715180
mov eax, dword [ebp - 0x6c]
mov byte [eax], 0x5e
jmp 0x715180
mov edx, dword [ebp - 0x6c]
mov byte [edx], 0x5f
jmp 0x715180
mov ecx, dword [ebp - 0x6c]
mov byte [ecx], 0x60
jmp 0x715180
mov eax, dword [ebp - 0x6c]
mov byte [eax], 0x61
jmp 0x715180
mov byte [ebx], 0
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x90]
mov edx, 4
mov eax, dword [ebp - 0x6c]
call fcn.00711328
mov eax, dword [ebp - 0x6c]
add eax, 4
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x6c]
call fcn.0070f4d0
add dword [ebp - 0x194], 4
mov ecx, dword [ebp - 0x6c]
add ebx, 4
mov byte [ecx], 0x7b
mov byte [ebx], 0x72
inc ebx
mov eax, dword [ebp - 0x194]
sar eax, 0x10
mov byte [ebx], al
mov edx, dword [ebp - 0x194]
sar edx, 8
mov byte [ebx + 1], dl
mov cl, byte [ebp - 0x194]
and cl, 0xff
mov byte [ebx + 2], cl
add ebx, 3
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x6c]
sar eax, 0x10
mov byte [edx + 1], al
mov ecx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x6c]
sar ecx, 8
mov byte [eax + 2], cl
mov eax, dword [ebp - 0x6c]
mov dl, byte [ebp - 0x194]
and dl, 0xff
mov byte [eax + 3], dl
xor edx, edx
mov dword [ebp - 0x84], edx
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x50]
or dword [ecx + 0x58], esi
jmp 0x717011
mov eax, dword [ebp - 0x58]
xor edx, edx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0x20], 0x7f
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xbc], eax
inc dword [edi]
xor ecx, ecx
mov edx, dword [edi]
mov cl, byte [edx]
cmp ecx, 0x2a
jne 0x71547f
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x7151f6
mov ecx, dword [edi]
mov edx, dword [ebp + 0xc]
xor eax, eax
mov al, byte [ecx + 1]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 2
je 0x71547f
xor eax, eax
mov dword [ebp - 0x19c], eax
xor eax, eax
mov dword [ebp - 0x1a0], 0x9ddb14
mov ecx, dword [edi]
inc ecx
mov dword [ebp - 0x1a4], ecx
xor ecx, ecx
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x84], eax
inc dword [edi]
jmp 0x715227
inc dword [edi]
mov edx, dword [edi]
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 2
jne 0x715225
mov ecx, dword [edi]
sub ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x198], ecx
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x71529a
inc dword [edi]
mov ecx, dword [edi]
mov dword [ebp - 0x1a8], ecx
jmp 0x715260
inc dword [edi]
mov eax, dword [edi]
cmp byte [eax], 0
je 0x715272
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x71525e
mov eax, dword [edi]
sub eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0xff
jbe 0x71529a
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x4b
jmp 0x717018
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x29
je 0x7152b3
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x3c
jmp 0x717018
xor esi, esi
jmp 0x715454
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x9dd974]
cmp edx, dword [ebp - 0x198]
jne 0x715442
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1a4]
call fcn.0070f6d8
test eax, eax
jne 0x715442
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x9dd978], 0x98
jne 0x71537b
cmp dword [ebp - 0x19c], 0
je 0x715316
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3b
jmp 0x717018
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x715349
mov byte [ebx], 0x9a
inc ebx
movzx edx, word [eax + 4]
sar edx, 8
mov byte [ebx], dl
mov cl, byte [eax + 4]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
mov eax, dword [eax]
test eax, eax
jne 0x71532a
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x4c], 0
jle 0x715356
mov al, 0x99
jmp 0x715358
mov al, 0x98
mov byte [ebx], al
xor edx, edx
mov dl, al
mov dword [ebp - 0x1ac], edx
inc ebx
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x715410
mov dword [ebp - 0x34], 0xffffffff
jmp 0x715410
cmp dword [ebp - 0x19c], 0
jne 0x7153b8
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x9dd978], 0
jge 0x71539f
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x42
jmp 0x717018
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x9dd978]
xor eax, eax
mov byte [ebx], dl
inc ebx
mov al, dl
mov dword [ebp - 0x1ac], eax
jmp 0x715410
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x9dd97c], 0
jge 0x7153d3
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3b
jmp 0x717018
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x9dd97c]
mov byte [ebx], dl
xor eax, eax
mov al, dl
mov dword [ebp - 0x1ac], eax
inc ebx
mov cl, byte [ebp - 0x19c]
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x1a8]
mov eax, ebx
call fcn.0070f4c0
add ebx, dword [ebp - 0x19c]
mov byte [ebx], 0
inc ebx
mov ecx, dword [ebp - 0x1ac]
add ecx, 0xffffff70
sub ecx, 4
jb 0x715434
sub ecx, 2
jb 0x715428
jmp 0x715460
mov eax, dword [ebp + 0xc]
or dword [eax + 0x54], 0x1000
jmp 0x715460
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x60], 1
jmp 0x715460
lea ecx, [esi + esi*2]
mov eax, dword [ecx*4 + 0x9dd974]
inc eax
add dword [ebp - 0x1a0], eax
inc esi
cmp esi, dword [0x9dd9e0]
jl 0x7152ba
cmp esi, dword [0x9dd9e0]
jl 0x717011
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x3c
jmp 0x717018
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3f
jne 0x716577
inc dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3a
jg 0x715518
je 0x71559b
add ecx, 0xffffffdf
cmp ecx, 0x18
ja case.0x7154ad.34
jmp dword [ecx*4 + 0x7154b4]
cmp ecx, 0x43
jg 0x71553f
je 0x715b25
sub ecx, 0x3c
je 0x715ab0
dec ecx
je 0x715a6c
dec ecx
je 0x715b17
jmp case.0x7154ad.34
sub ecx, 0x50
je 0x715bf9
sub ecx, 2
je 0x7160e4
sub ecx, 0x2a
je 0x715591
jmp case.0x7154ad.34
inc dword [edi]
jmp 0x715561
inc dword [edi]
mov eax, dword [edi]
cmp byte [eax], 0
je 0x715573
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x71555f
mov eax, dword [edi]
cmp byte [eax], 0
jne 0x717011
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x12
jmp 0x717018
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0x20], 0x7d
inc dword [edi]
jmp 0x7165ad
mov dword [ebp - 0x20], 0x81
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3f
jne 0x7155ec
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x3d
je 0x7165ad
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 2]
cmp edx, 0x21
je 0x7165ad
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x3c
je 0x7165ad
mov byte [ebx + 4], 0x87
mov dword [ebp - 0xd4], 3
mov dword [ebp - 0xd0], 0xffffffff
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x52
jne 0x71562f
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 2]
cmp edx, 0x26
jne 0x71562f
mov dword [ebp - 0xe8], 0xffffffff
add dword [edi], 2
mov byte [ebx + 4], 0x89
jmp 0x715691
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3c
jne 0x715649
mov dword [ebp - 0xe8], 0x3e
inc dword [edi]
jmp 0x715691
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x27
jne 0x715663
mov dword [ebp - 0xe8], 0x27
inc dword [edi]
jmp 0x715691
xor eax, eax
mov dword [ebp - 0xe8], eax
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x2d
je 0x715683
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2b
jne 0x715691
inc dword [edi]
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
mov dword [ebp - 0xd0], eax
mov edx, dword [edi]
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [edx + 1]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne 0x7156b4
inc dword [edi]
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x1c
jmp 0x717018
xor eax, eax
mov dword [ebp - 0xcc], eax
inc dword [edi]
mov edx, dword [edi]
mov dword [ebp - 0x1c4], edx
jmp 0x715709
cmp dword [ebp - 0xcc], 0
jl 0x715707
mov ecx, dword [edi]
movzx ecx, byte [ecx]
cmp ecx, 0x30
jl 0x7156fe
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jg 0x7156fe
mov edx, dword [ebp - 0xcc]
mov ecx, dword [edi]
add edx, edx
xor eax, eax
mov al, byte [ecx]
lea edx, [edx + edx*4]
add eax, edx
add eax, 0xffffffd0
jmp 0x715701
or eax, 0xffffffff
mov dword [ebp - 0xcc], eax
inc dword [edi]
mov edx, dword [edi]
mov esi, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [edx]
mov eax, dword [esi + 0xc]
test byte [eax + ecx], 0x10
jne 0x7156c8
mov edx, dword [edi]
sub edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], edx
cmp dword [ebp - 0xe8], 0
jle 0x715740
mov cl, byte [ebp - 0xe8]
mov esi, dword [edi]
inc dword [edi]
cmp cl, byte [esi]
jne 0x71574d
mov eax, dword [edi]
inc dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
je 0x71575d
dec dword [edi]
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0x1a
jmp 0x717018
cmp dword [ebp + 8], 0
jne 0x7165ad
cmp dword [ebp - 0xd0], 0
jle 0x7157f7
cmp dword [ebp - 0xcc], 0
jg 0x71578b
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3a
jmp 0x717018
cmp dword [ebp - 0xd0], 0x2d
jne 0x7157a3
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x38]
sub edx, dword [ebp - 0xcc]
inc edx
jmp 0x7157af
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x38]
add edx, dword [ebp - 0xcc]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
jle 0x7157cc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x3c]
cmp ecx, dword [ebp - 0xcc]
jge 0x7157da
mov esi, dword [ebp + 0x28]
mov dword [esi], 0xf
jmp 0x717018
mov eax, dword [ebp - 0xcc]
sar eax, 8
mov byte [ebx + 5], al
mov dl, byte [ebp - 0xcc]
and dl, 0xff
mov byte [ebx + 6], dl
jmp 0x7165ad
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x28]
mov dword [ebp - 0x1c8], ecx
xor eax, eax
mov dword [ebp - 0x1b0], eax
jmp 0x71583d
mov edx, dword [ebp - 0x1c8]
add edx, 2
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1c4]
call fcn.0070f6d8
test eax, eax
je 0x71584b
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x30]
add dword [ebp - 0x1c8], ecx
inc dword [ebp - 0x1b0]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x2c]
cmp edx, dword [ebp - 0x1b0]
jg 0x71580d
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [ebp - 0x1b0]
jle 0x715898
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c8]
xor ecx, ecx
mov cl, byte [edx]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 1]
or ecx, edx
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0xcc]
sar ecx, 8
mov byte [ebx + 5], cl
mov al, byte [ebp - 0xcc]
and al, 0xff
mov byte [ebx + 6], al
inc byte [ebx + 4]
jmp 0x7165ad
test byte [ebp - 0x58], 8
setne dl
and edx, 1
push edx
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp + 0xc]
call fcn.0071061c
mov dword [ebp - 0x1b0], eax
test eax, eax
jle 0x7158e8
mov edx, dword [ebp - 0x1b0]
sar edx, 8
mov byte [ebx + 5], dl
mov cl, byte [ebp - 0x1b0]
and cl, 0xff
mov byte [ebx + 6], cl
inc byte [ebx + 4]
jmp 0x7165ad
cmp dword [ebp - 0xe8], 0
je 0x715904
mov esi, dword [ebp + 0x28]
mov dword [esi], 0xf
jmp 0x717018
mov eax, dword [ebp - 0x1c4]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x52
jne 0x7159df
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0x1b0], 1
mov ecx, dword [ebp - 0x1b0]
cmp ecx, dword [ebp - 0x1bc]
jge 0x7159ab
mov eax, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x30
jl 0x715963
mov eax, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x39
jle 0x715971
mov eax, dword [ebp + 0x28]
mov dword [eax], 0xf
jmp 0x717018
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0xcc]
movzx edx, byte [edx + eax]
add ecx, ecx
lea ecx, [ecx + ecx*4]
add edx, ecx
add edx, 0xffffffd0
mov dword [ebp - 0xcc], edx
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b0]
cmp ecx, dword [ebp - 0x1bc]
jl 0x715937
cmp dword [ebp - 0xcc], 0
jne 0x7159be
mov dword [ebp - 0xcc], 0xffff
mov byte [ebx + 4], 0x89
mov eax, dword [ebp - 0xcc]
sar eax, 8
mov byte [ebx + 5], al
mov dl, byte [ebp - 0xcc]
and dl, 0xff
mov byte [ebx + 6], dl
jmp 0x7165ad
cmp dword [ebp - 0x1bc], 6
jne 0x715a14
mov edx, 0x9de8da
mov ecx, 6
mov eax, dword [ebp - 0x1c4]
call fcn.0070f6d8
test eax, eax
jne 0x715a14
mov byte [ebx + 4], 0x8b
mov dword [ebp - 0xd4], 1
jmp 0x7165ad
cmp dword [ebp - 0xcc], 0
jle 0x715a48
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x3c]
cmp eax, dword [ebp - 0xcc]
jl 0x715a48
mov edx, dword [ebp - 0xcc]
sar edx, 8
mov byte [ebx + 5], dl
mov cl, byte [ebp - 0xcc]
and cl, 0xff
mov byte [ebx + 6], cl
jmp 0x7165ad
cmp dword [ebp - 0xcc], 0
jne 0x715a58
mov eax, 0x23
jmp 0x715a5d
mov eax, 0xf
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
jmp 0x717018
mov dword [ebp - 0x20], 0x77
mov ecx, dword [ebp + 0xc]
inc dword [ecx + 0x4c]
inc dword [edi]
jmp 0x7165ad
inc dword [edi]
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x29
jne 0x715a9e
mov byte [ebx], 0x97
inc ebx
xor edx, edx
mov dword [ebp - 0x84], edx
jmp 0x717011
mov dword [ebp - 0x20], 0x78
mov ecx, dword [ebp + 0xc]
inc dword [ecx + 0x4c]
jmp 0x7165ad
mov eax, dword [edi]
mov dl, byte [eax + 1]
sub dl, 0x21
je 0x715ad6
sub dl, 0x1c
je 0x715ac1
jmp 0x715aeb
mov dword [ebp - 0x20], 0x79
mov ecx, dword [ebp + 0xc]
inc dword [ecx + 0x4c]
add dword [edi], 2
jmp 0x7165ad
mov dword [ebp - 0x20], 0x7a
mov eax, dword [ebp + 0xc]
inc dword [eax + 0x4c]
add dword [edi], 2
jmp 0x7165ad
mov edx, dword [edi]
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [edx + 1]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne case.0x7154ad.39
inc dword [edi]
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x18
jmp 0x717018
mov dword [ebp - 0x20], 0x7b
inc dword [edi]
jmp 0x7165ad
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x5c], 1
mov byte [ebx], 0x70
inc ebx
xor eax, eax
mov dword [ebp - 0x1cc], eax
inc dword [edi]
jmp 0x715b60
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edi]
add edx, edx
xor eax, eax
mov al, byte [ecx]
lea edx, [edx + edx*4]
add edx, eax
add edx, 0xffffffd0
mov dword [ebp - 0x1cc], edx
inc dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x715b76
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x715b42
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x715b8f
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x27
jmp 0x717018
cmp dword [ebp - 0x1cc], 0xff
jle 0x715ba9
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x26
jmp 0x717018
mov cl, byte [ebp - 0x1cc]
mov byte [ebx], cl
inc ebx
mov eax, dword [ebp + 0xc]
mov edx, dword [edi]
sub edx, dword [eax + 0x18]
inc edx
sar edx, 0x10
mov byte [ebx], dl
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi]
sub eax, dword [ecx + 0x18]
inc eax
sar eax, 8
mov byte [ebx + 1], al
mov edx, dword [ebp + 0xc]
mov eax, dword [edi]
sub eax, dword [edx + 0x18]
inc eax
and al, 0xff
mov byte [ebx + 2], al
mov byte [ebx + 3], 0
mov byte [ebx + 4], 0
mov byte [ebx + 5], 0
add ebx, 6
xor edx, edx
mov dword [ebp - 0x84], edx
jmp 0x717011
inc dword [edi]
mov ecx, dword [edi]
movzx ecx, byte [ecx]
cmp ecx, 0x3d
je 0x715c10
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3e
jne 0x715c36
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3e
sete dl
and edx, 1
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xe8], 0x29
jmp 0x715f17
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3c
je case.0x7154ad.39
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x29
jmp 0x717018
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3c
jne 0x715c61
mov edx, 0x3e
jmp 0x715c66
mov edx, 0x27
mov dword [ebp - 0xe8], edx
inc dword [edi]
mov eax, dword [edi]
mov dword [ebp - 0x1c4], eax
jmp 0x715c7a
inc dword [edi]
mov ecx, dword [edi]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [ecx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne 0x715c78
mov ecx, dword [edi]
sub ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], ecx
cmp dword [ebp + 8], 0
je 0x715d17
mov al, byte [ebp - 0xe8]
mov edx, dword [edi]
cmp al, byte [edx]
je 0x715cb9
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x2a
jmp 0x717018
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x2c], 0x2710
jl 0x715cd3
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x31
jmp 0x717018
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1bc]
add ecx, 3
cmp ecx, dword [esi + 0x30]
jle 0x715ef6
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1bc]
add eax, 3
mov dword [edx + 0x30], eax
cmp dword [ebp - 0x1bc], 0x20
jle 0x715ef6
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0x30
jmp 0x717018
xor ecx, ecx
mov dword [ebp - 0x1d0], ecx
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x1c8], edx
xor ecx, ecx
mov dword [ebp - 0x1b0], ecx
jmp 0x715e0c
mov edx, dword [ebp - 0x1c8]
add edx, 2
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1c4]
call fcn.0070f45c
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0
jne 0x715dc5
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1bc]
cmp byte [edx + eax + 2], 0
jne 0x715dbb
mov edx, dword [ebp - 0x1c8]
xor ecx, ecx
mov esi, dword [ebp - 0x1c8]
xor eax, eax
mov cl, byte [edx]
mov edx, dword [ebp + 0xc]
mov al, byte [esi + 1]
shl ecx, 8
mov esi, dword [edx + 0x38]
inc esi
or ecx, eax
cmp ecx, esi
je 0x715daf
test byte [ebp - 0x56], 8
jne 0x715daf
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x2b
jmp 0x717018
mov dword [ebp - 0x1d0], 1
jmp 0x715dc5
mov dword [ebp - 0x1d4], 0xffffffff
cmp dword [ebp - 0x1d4], 0
jge 0x715dfa
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 0x2c]
sub ecx, dword [ebp - 0x1b0]
imul ecx, dword [esi + 0x30]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0x1c8]
add eax, dword [ebp - 0x1c8]
call fcn.0070f4d0
jmp 0x715e1e
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x30]
add dword [ebp - 0x1c8], ecx
inc dword [ebp - 0x1b0]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x2c]
cmp edx, dword [ebp - 0x1b0]
jg 0x715d38
cmp dword [ebp - 0x1d0], 0
jne 0x715ea6
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x1d8], eax
xor edx, edx
mov dword [ebp - 0x1b0], edx
jmp 0x715e98
mov ecx, dword [ebp - 0x1d8]
cmp ecx, dword [ebp - 0x1c8]
je 0x715e80
mov eax, dword [ebp - 0x1d8]
xor edx, edx
mov dl, byte [eax]
shl edx, 8
mov eax, dword [ebp - 0x1d8]
xor ecx, ecx
mov cl, byte [eax + 1]
or edx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x38]
inc ecx
cmp edx, ecx
jne 0x715e86
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x41
jmp 0x717018
dec dword [ebp - 0x1b0]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x30]
add dword [ebp - 0x1d8], eax
inc dword [ebp - 0x1b0]
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x2c]
cmp ecx, dword [ebp - 0x1b0]
jg 0x715e3d
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x1c8]
inc edx
shr edx, 8
mov byte [eax], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x1c8]
mov cl, byte [edx + 0x38]
inc ecx
and cl, 0xff
mov byte [esi + 1], cl
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1bc]
add eax, 2
mov edx, dword [ebp - 0x1c4]
call fcn.0070f4c0
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1bc]
mov byte [ecx + eax + 2], 0
mov edx, dword [ebp + 0xc]
inc dword [edx + 0x2c]
inc dword [edi]
jmp 0x716586
mov dword [ebp - 0xe8], 0x29
mov dword [ebp - 0xb8], 1
inc dword [edi]
mov ecx, dword [edi]
mov dword [ebp - 0x1c4], ecx
jmp 0x715f25
inc dword [edi]
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 0x10
jne 0x715f23
mov edx, dword [edi]
sub edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], edx
cmp dword [ebp + 8], 0
je 0x715ffd
cmp dword [ebp - 0x1bc], 0
jne 0x715f66
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3e
jmp 0x717018
mov al, byte [ebp - 0xe8]
mov edx, dword [edi]
cmp al, byte [edx]
je 0x715f80
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0x2a
jmp 0x717018
cmp dword [ebp - 0x1bc], 0x20
jle 0x715f97
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x30
jmp 0x717018
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x1dc], edx
mov ecx, dword [ebp + 0xc]
mov esi, dword [edi]
mov dword [ecx + 0x1c], esi
test byte [ebp - 0x58], 8
setne al
and eax, 1
push eax
mov edx, dword [ebp - 0x90]
push edx
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp + 0xc]
call fcn.0071061c
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x1dc]
mov dword [ecx + 0x1c], esi
cmp dword [ebp - 0xcc], 0
jge 0x7160d2
xor eax, eax
mov dword [ebp - 0xcc], eax
jmp 0x7160d2
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x1c8], ecx
xor ecx, ecx
mov dword [ebp - 0x1b0], ecx
jmp 0x716056
mov edx, dword [ebp - 0x1c8]
add edx, 2
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1c4]
call fcn.0070f6d8
test eax, eax
jne 0x716044
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1bc]
cmp byte [edx + eax + 2], 0
je 0x716064
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x30]
add dword [ebp - 0x1c8], ecx
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [ebp - 0x1b0]
jg 0x716013
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x2c]
cmp ecx, dword [ebp - 0x1b0]
jle 0x716094
mov eax, dword [ebp - 0x1c8]
xor edx, edx
mov dl, byte [eax]
shl edx, 8
mov eax, dword [ebp - 0x1c8]
xor ecx, ecx
mov cl, byte [eax + 1]
or edx, ecx
mov dword [ebp - 0xcc], edx
jmp 0x7160d2
test byte [ebp - 0x58], 8
setne dl
and edx, 1
push edx
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp + 0xc]
call fcn.0071061c
mov dword [ebp - 0xcc], eax
test eax, eax
jg 0x7160d2
mov edx, dword [ebp + 0x28]
mov dword [edx], 0xf
jmp 0x717018
cmp dword [ebp - 0xb8], 0
jne 0x716229
jmp 0x716b01
inc dword [edi]
mov dword [ebp - 0xe8], 0x29
mov ecx, dword [edi]
movzx ecx, byte [ecx]
mov dword [ebp - 0xd0], ecx
cmp ecx, 0x2b
jne 0x716128
inc dword [edi]
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x30
jl 0x716118
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x716153
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x3f
jmp 0x717018
cmp dword [ebp - 0xd0], 0x2d
jne 0x716153
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x30
jl case.0x7154ad.34
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x39
jg case.0x7154ad.34
inc dword [edi]
xor eax, eax
mov dword [ebp - 0xcc], eax
jmp 0x71617b
mov edx, dword [ebp - 0xcc]
mov eax, dword [edi]
add edx, edx
xor ecx, ecx
mov cl, byte [eax]
lea edx, [edx + edx*4]
add edx, ecx
add edx, 0xffffffd0
mov dword [ebp - 0xcc], edx
inc dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x716191
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x71615d
mov cl, byte [ebp - 0xe8]
mov eax, dword [edi]
cmp cl, byte [eax]
je 0x7161ab
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x1d
jmp 0x717018
cmp dword [ebp - 0xd0], 0x2d
jne 0x7161f7
cmp dword [ebp - 0xcc], 0
jne 0x7161cb
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3a
jmp 0x717018
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x38]
sub edx, dword [ebp - 0xcc]
inc edx
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
jg 0x716229
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0xf
jmp 0x717018
cmp dword [ebp - 0xd0], 0x2b
jne 0x716229
cmp dword [ebp - 0xcc], 0
jne 0x716217
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3a
jmp 0x717018
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [ebp - 0xcc]
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0x84], ebx
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x1e0], ecx
cmp dword [ebp + 8], 0
jne 0x716396
mov byte [ebx], 0
cmp dword [ebp - 0xcc], 0
je 0x71626e
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x90]
call fcn.00710ab0
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0
jne 0x716337
test byte [ebp - 0x58], 8
setne cl
and ecx, 1
push ecx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0xcc]
xor edx, edx
mov eax, dword [ebp + 0xc]
call fcn.0071061c
test eax, eax
jge 0x7162af
mov esi, dword [ebp + 0x28]
mov dword [esi], 0xf
jmp 0x717018
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
add edx, dword [ebp - 0xcc]
mov dword [ebp - 0x1e0], edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x10]
add ecx, dword [eax + 0x34]
add ecx, 0xffffff9c
cmp ecx, dword [edx + 0x24]
ja 0x7162f1
mov eax, dword [ebp + 0xc]
call fcn.0070f704
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
mov ecx, dword [ebp + 0x28]
cmp dword [ecx], 0
jne 0x717018
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
lea ecx, [ebx + 1]
sub ecx, dword [eax + 0x14]
mov esi, dword [edx + 0x24]
sar ecx, 0x10
lea eax, [ebx + 1]
mov byte [esi], cl
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
sub eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x24]
sar eax, 8
mov byte [edx + 1], al
lea eax, [ebx + 1]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
sub eax, dword [ecx + 0x14]
mov ecx, dword [edx + 0x24]
and al, 0xff
mov byte [ecx + 2], al
mov eax, dword [ebp + 0xc]
add dword [eax + 0x24], 3
jmp 0x716396
mov edx, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1e0]
xor eax, eax
movzx edx, byte [edx + 2]
mov al, byte [ecx + 1]
mov ecx, dword [ebp - 0x1e0]
shl edx, 8
shl eax, 0x10
or eax, edx
xor edx, edx
mov dl, byte [ecx + 3]
or eax, edx
jne 0x716396
cmp dword [ebp + 0x10], 0
jg 0x716396
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 0x14]
mov edx, ebx
mov eax, dword [ebp - 0x1e0]
call fcn.00711218
test eax, eax
je 0x716396
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x28
jmp 0x717018
mov byte [ebx], 0x6f
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1e0]
sub edx, dword [eax + 0x14]
sar edx, 0x10
mov byte [ebx + 1], dl
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1e0]
sub eax, dword [ecx + 0x14]
sar eax, 8
mov byte [ebx + 2], al
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1e0]
sub ecx, dword [edx + 0x14]
and cl, 0xff
mov byte [ebx + 3], cl
add ebx, 4
xor ecx, ecx
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x717011
mov dword [ebp - 0x34], 0xffffffff
jmp 0x717011
xor eax, eax
lea edx, [ebp - 0x1b4]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1c0], edx
jmp 0x7164bc
mov ecx, dword [edi]
inc dword [edi]
movzx ecx, byte [ecx]
cmp ecx, 0x69
jg 0x716430
je 0x716467
sub ecx, 0x2d
je 0x716441
sub ecx, 0x1d
je 0x71644f
sub ecx, 0xb
je 0x716493
sub ecx, 3
je 0x7164a1
jmp 0x7164ac
sub ecx, 0x6d
je 0x716472
sub ecx, 6
je 0x71647d
sub ecx, 5
je 0x716488
jmp 0x7164ac
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x1c0], eax
jmp 0x7164bc
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x80000
mov ecx, dword [ebp + 0xc]
or dword [ecx + 0x54], 0x400
jmp 0x7164bc
mov eax, dword [ebp - 0x1c0]
or dword [eax], 1
jmp 0x7164bc
mov edx, dword [ebp - 0x1c0]
or dword [edx], 2
jmp 0x7164bc
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 4
jmp 0x7164bc
mov eax, dword [ebp - 0x1c0]
or dword [eax], 8
jmp 0x7164bc
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x200
jmp 0x7164bc
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 0x40
jmp 0x7164bc
mov eax, dword [ebp + 0x28]
mov dword [eax], 0xc
dec dword [edi]
jmp 0x717018
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x7164d6
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x71640c
mov ecx, dword [ebp - 0x58]
or ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b8]
not eax
and ecx, eax
mov dword [ebp - 0xc8], ecx
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x71656c
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
add edx, 4
cmp ebx, edx
jne 0x716523
cmp dword [ebp + 8], 0
je 0x716515
mov ecx, dword [ebp + 8]
cmp dword [ecx], 8
jne 0x716523
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc8]
mov dword [eax + 0x50], edx
jmp 0x716551
test byte [ebp - 0xc7], 2
setne cl
and ecx, 1
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
xor eax, 1
mov dword [ebp - 0x28], eax
test byte [ebp - 0xc8], 1
je 0x71654c
mov edx, 1
jmp 0x71654e
xor edx, edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 4]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebp - 0x84], ecx
jmp 0x717011
mov dword [ebp - 0x20], 0x7d
inc dword [edi]
jmp 0x7165ad
test byte [ebp - 0x57], 0x10
je 0x716586
mov dword [ebp - 0x20], 0x7d
jmp 0x7165ad
mov ecx, dword [ebp + 0xc]
inc dword [ecx + 0x38]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x38]
shr edx, 8
mov byte [ebx + 4], dl
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx + 0x38]
and al, 0xff
mov byte [ebx + 5], al
mov dword [ebp - 0xd4], 2
mov dword [ebp - 0x84], ebx
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov dword [ebp - 0x6c], ebx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0x54], eax
xor eax, eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x38]
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x60], eax
mov edx, dword [ebp + 0x28]
push edx
cmp dword [ebp - 0x20], 0x79
je 0x7165e9
cmp dword [ebp - 0x20], 0x7a
je 0x7165e9
xor ecx, ecx
jmp 0x7165ee
mov ecx, 1
push ecx
mov eax, dword [ebp - 0xbc]
push eax
mov edx, dword [ebp - 0xd4]
push edx
cmp dword [ebp - 0x20], 0x81
jne 0x71660d
mov ecx, 1
jmp 0x71660f
xor ecx, ecx
add ecx, dword [ebp + 0x10]
push ecx
lea eax, [ebp - 0xdc]
push eax
lea edx, [ebp - 0xe4]
push edx
lea ecx, [ebp - 0xd8]
push ecx
lea eax, [ebp - 0xe0]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
cmp dword [ebp + 8], 0
jne 0x716641
xor eax, eax
jmp 0x716644
lea eax, [ebp - 0x60]
push eax
mov ecx, edi
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0xc8]
call fcn.0071702c
test eax, eax
je 0x717018
cmp dword [ebp - 0x20], 0x7b
jne 0x716674
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [ebp - 0xf0]
ja 0x716674
mov byte [ebx], 0x7c
cmp dword [ebp - 0x20], 0x77
jl 0x716686
cmp dword [ebp - 0x20], 0x7a
jg 0x716686
mov ecx, dword [ebp + 0xc]
dec dword [ecx + 0x4c]
cmp dword [ebp - 0x20], 0x81
jne 0x71674d
cmp dword [ebp + 8], 0
jne 0x71674d
mov dword [ebp - 0x1e4], ebx
xor eax, eax
mov dword [ebp - 0x1e8], eax
inc dword [ebp - 0x1e8]
xor ecx, ecx
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x1e4]
mov esi, dword [ebp - 0x1e4]
mov cl, byte [edx + 1]
xor edx, edx
mov dl, byte [eax + 2]
xor eax, eax
shl edx, 8
mov al, byte [esi + 3]
shl ecx, 0x10
or ecx, edx
or ecx, eax
add dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e4]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x72
jne 0x7166ab
xor ecx, ecx
mov cl, byte [ebx + 4]
cmp ecx, 0x8b
jne 0x71671e
cmp dword [ebp - 0x1e8], 1
jle 0x716715
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x36
jmp 0x717018
mov dword [ebp - 0x20], 0x8b
jmp 0x71674d
cmp dword [ebp - 0x1e8], 2
jle 0x716735
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x1b
jmp 0x717018
cmp dword [ebp - 0x1e8], 1
jne 0x71674d
or ecx, 0xffffffff
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xe4], ecx
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
je 0x716766
mov esi, dword [ebp + 0x28]
mov dword [esi], 0xe
jmp 0x717018
cmp dword [ebp + 8], 0
je 0x7167bf
mov eax, dword [ebp + 8]
mov edx, 0x7fffffeb
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffff8
sub edx, dword [eax]
cmp edx, ecx
jge 0x71678e
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x14
jmp 0x717018
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff8
inc ebx
add dword [edx], eax
mov byte [ebx], 0
mov byte [ebx + 1], 0
mov byte [ebx + 2], 4
add ebx, 3
mov byte [ebx], 0x72
inc ebx
mov byte [ebx], 0
mov byte [ebx + 1], 0
mov byte [ebx + 2], 4
add ebx, 3
jmp 0x717011
cmp dword [ebp - 0x20], 0x8b
mov ebx, dword [ebp - 0x6c]
je 0x717011
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x20], 0x7b
jl 0x716881
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x716830
cmp dword [ebp - 0xe4], 0
jl 0x716820
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x74], 1
jmp 0x716827
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
jmp 0x71685d
cmp dword [ebp - 0xe4], 0
jl 0x71685d
cmp dword [ebp - 0xe0], 0
jge 0x71685d
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xe4]
or edx, dword [ebp - 0x54]
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0xe0], 0
jl 0x717011
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x38], eax
jmp 0x717011
cmp dword [ebp - 0x20], 0x77
jne 0x717011
cmp dword [ebp - 0xe0], 0
jl 0x717011
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x38], ecx
jmp 0x717011
mov eax, dword [edi]
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x38]
push ecx
mov eax, dword [ebp - 0x58]
push eax
push 0
lea edx, [ebp - 0xf4]
mov eax, edi
mov ecx, dword [ebp + 0x28]
call fcn.0070f804
mov esi, eax
mov eax, dword [ebp + 0x28]
cmp dword [eax], 0
jne 0x717018
test esi, esi
jne 0x7168ee
mov esi, dword [ebp - 0xf4]
jmp 0x716cb7
cmp esi, 0x1a
jne 0x71691e
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x5c
jne 0x716912
mov ecx, dword [edi]
movzx ecx, byte [ecx + 2]
cmp ecx, 0x45
jne 0x716912
add dword [edi], 2
jmp 0x717011
mov dword [ebp - 0x70], 1
jmp 0x717011
cmp esi, 0x19
je 0x717011
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71693e
cmp esi, 5
jle 0x71693e
cmp esi, 0x17
jge 0x71693e
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x2c]
cmp esi, 0x1b
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
jne 0x716a7d
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x24]
mov dword [ebp - 0x8c], ecx
inc dword [edi]
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x71697f
mov ecx, 0x3e
jmp 0x716984
mov ecx, 0x27
mov dword [ebp - 0xe8], ecx
xor eax, eax
mov dword [ebp - 0xd4], eax
xor edx, edx
mov dword [ebp - 0xbc], edx
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2b
je 0x716a44
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x2d
je 0x716a44
mov dword [ebp - 0x1ec], 1
mov eax, dword [edi]
inc eax
jmp 0x7169fe
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax]
mov ecx, dword [ecx + 0xc]
test byte [ecx + edx], 4
jne 0x7169ed
xor edx, edx
mov dword [ebp - 0x1ec], edx
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax]
mov ecx, dword [ecx + 0xc]
test byte [ecx + edx], 0x10
je 0x716a0d
inc eax
cmp byte [eax], 0
je 0x716a0d
mov dl, byte [ebp - 0xe8]
cmp dl, byte [eax]
jne 0x7169d5
mov dl, byte [ebp - 0xe8]
cmp dl, byte [eax]
je 0x716a25
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x39
jmp 0x717011
cmp dword [ebp - 0x1ec], 0
je 0x716a35
inc dword [edi]
jmp 0x7160f0
mov dword [ebp - 0xb8], 1
jmp 0x715f17
mov eax, dword [edi]
add eax, 2
jmp 0x716a4c
inc eax
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x30
jl 0x716a5e
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x39
jle 0x716a4b
mov dl, byte [ebp - 0xe8]
cmp dl, byte [eax]
je 0x716a76
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x39
jmp 0x717011
inc dword [edi]
jmp 0x7160f0
cmp esi, 0x1c
jne 0x716af1
mov ecx, dword [edi]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x3c
je 0x716ab3
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x27
je 0x716ab3
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x7b
je 0x716ab3
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x45
jmp 0x717011
xor ecx, ecx
mov dword [ebp - 0xb8], ecx
inc dword [edi]
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x716acf
mov ecx, 0x3e
jmp 0x716ae6
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x27
jne 0x716ae1
mov ecx, 0x27
jmp 0x716ae6
mov ecx, 0x7d
mov dword [ebp - 0xe8], ecx
jmp 0x715f17
test esi, esi
jge 0x716bd2
neg esi
mov dword [ebp - 0xcc], esi
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x716b0e
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x84], ebx
test byte [ebp - 0x58], 1
je 0x716b1e
mov al, 0x6e
jmp 0x716b20
mov al, 0x6d
mov byte [ebx], al
inc ebx
mov edx, dword [ebp - 0xcc]
sar edx, 8
mov byte [ebx], dl
mov cl, byte [ebp - 0xcc]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
cmp dword [ebp - 0xcc], 0x20
jge 0x716b55
mov ecx, dword [ebp - 0xcc]
mov eax, 1
shl eax, cl
jmp 0x716b5a
mov eax, 1
mov edx, dword [ebp + 0xc]
or dword [edx + 0x48], eax
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x44]
cmp ecx, dword [ebp - 0xcc]
jge 0x716b7a
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x44], edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0
je 0x717011
mov edx, dword [ebp - 0x1f0]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xcc]
jne 0x716bb6
mov eax, dword [ebp - 0x1f0]
mov word [eax + 6], 1
jmp 0x717011
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov dword [ebp - 0x1f0], ecx
cmp dword [ebp - 0x1f0], 0
jne 0x716b93
jmp 0x717011
cmp esi, 0xf
je 0x716bdc
cmp esi, 0x10
jne 0x716c49
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1fc], edx
lea ecx, [ebp - 0x1fc]
lea edx, [ebp - 0x1f4]
push ecx
lea ecx, [ebp - 0x1f8]
mov eax, dword [ebp + 0x28]
push eax
mov eax, edi
call fcn.0070ffc0
test eax, eax
je 0x717018
mov dword [ebp - 0x84], ebx
cmp esi, 0x10
sete cl
and ecx, 1
cmp ecx, dword [ebp - 0x1f4]
je 0x716c2d
mov al, 0x10
jmp 0x716c2f
mov al, 0xf
mov byte [ebx], al
inc ebx
mov dl, byte [ebp - 0x1f8]
mov byte [ebx], dl
inc ebx
mov cl, byte [ebp - 0x1fc]
mov byte [ebx], cl
inc ebx
jmp 0x717011
cmp esi, 5
je 0x716c53
cmp esi, 4
jne 0x716c66
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x40], 0
jne 0x716c66
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x40], 1
cmp esi, 0x1d
jl 0x716c85
cmp esi, 0x22
jg 0x716c85
mov edx, dword [edi]
inc edx
mov dword [ebp - 0x80], edx
mov ecx, dword [esi*4 + 0x9dda18]
dec ecx
mov dword [edi], ecx
jmp 0x717011
cmp esi, 5
jle 0x716c93
cmp esi, 0x17
jge 0x716c93
mov eax, ebx
jmp 0x716c95
xor eax, eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x90], 0
jne 0x716cad
cmp esi, 0xe
jne 0x716cad
mov dl, 0xd
jmp 0x716caf
mov edx, esi
mov byte [ebx], dl
inc ebx
jmp 0x717011
cmp dword [ebp - 0x90], 0
je 0x716cda
cmp esi, 0x7f
jbe 0x716cda
lea edx, [ebp - 0xfc]
mov eax, esi
call fcn.00720a88
mov dword [ebp - 0xec], eax
jmp 0x716d41
mov ecx, esi
mov byte [ebp - 0xfc], cl
mov dword [ebp - 0xec], 1
jmp 0x716d41
mov dword [ebp - 0xec], 1
mov ecx, esi
mov byte [ebp - 0xfc], cl
cmp dword [ebp - 0x90], 0
je 0x716d41
cmp esi, 0xc0
jb 0x716d41
jmp 0x716d2c
inc dword [edi]
mov eax, dword [edi]
mov dl, byte [eax]
mov eax, dword [ebp - 0xec]
mov byte [ebp + eax - 0xfc], dl
inc dword [ebp - 0xec]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
and ecx, 0xc0
cmp ecx, 0x80
je 0x716d13
mov dword [ebp - 0x84], ebx
cmp dword [ebp - 0x90], 0
je 0x716f05
test byte [ebp - 0x58], 1
je 0x716f05
movzx esi, byte [ebp - 0xfc]
cmp esi, 0xc0
jb 0x716ea1
test esi, 0x20
jne 0x716d91
and esi, 0x1f
xor eax, eax
mov al, byte [ebp - 0xfb]
shl esi, 6
and eax, 0x3f
or esi, eax
jmp 0x716ea1
test esi, 0x10
jne 0x716dc1
xor edx, edx
and esi, 0xf
mov dl, byte [ebp - 0xfb]
xor ecx, ecx
and edx, 0x3f
mov cl, byte [ebp - 0xfa]
shl edx, 6
and ecx, 0x3f
shl esi, 0xc
or esi, edx
or esi, ecx
jmp 0x716ea1
test esi, 8
jne 0x716e01
xor ecx, ecx
xor eax, eax
mov cl, byte [ebp - 0xfb]
mov al, byte [ebp - 0xfa]
and ecx, 0x3f
and esi, 7
shl ecx, 0xc
and eax, 0x3f
shl esi, 0x12
xor edx, edx
shl eax, 6
or esi, ecx
mov dl, byte [ebp - 0xf9]
or esi, eax
and edx, 0x3f
or esi, edx
jmp 0x716ea1
test esi, 4
jne 0x716e4e
xor ecx, ecx
and esi, 3
mov cl, byte [ebp - 0xfb]
xor eax, eax
and ecx, 0x3f
mov al, byte [ebp - 0xfa]
shl ecx, 0x12
xor edx, edx
shl esi, 0x18
mov dl, byte [ebp - 0xf9]
and eax, 0x3f
or esi, ecx
shl eax, 0xc
and edx, 0x3f
shl edx, 6
xor ecx, ecx
or esi, eax
mov cl, byte [ebp - 0xf8]
and ecx, 0x3f
or esi, edx
or esi, ecx
jmp 0x716ea1
xor eax, eax
and esi, 1
mov al, byte [ebp - 0xfb]
xor edx, edx
and eax, 0x3f
mov dl, byte [ebp - 0xfa]
shl eax, 0x18
and edx, 0x3f
shl esi, 0x1e
xor ecx, ecx
or esi, eax
xor eax, eax
shl edx, 0x12
mov cl, byte [ebp - 0xf9]
and ecx, 0x3f
mov al, byte [ebp - 0xf8]
shl ecx, 0xc
or esi, edx
and eax, 0x3f
xor edx, edx
shl eax, 6
or esi, ecx
mov dl, byte [ebp - 0xf7]
or esi, eax
and edx, 0x3f
or esi, edx
mov ecx, esi
test ecx, ecx
jns 0x716eaa
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x9ef858]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x716ec7
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x9e2d58]
xor eax, eax
mov al, byte [ecx*8 + 0x9e19bb]
mov esi, eax
test eax, eax
je 0x716f05
mov byte [ebx], 0x10
inc ebx
mov byte [ebx], 9
inc ebx
mov edx, esi
mov byte [ebx], dl
inc ebx
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x717011
or ecx, 0xffffffff
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x34], ecx
jmp 0x717011
test byte [ebp - 0x58], 1
je 0x716f0f
mov al, 0x1e
jmp 0x716f11
mov al, 0x1d
mov byte [ebx], al
inc ebx
xor esi, esi
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x200], eax
cmp esi, dword [ebp - 0xec]
jae 0x716f44
mov edx, dword [ebp - 0x200]
mov cl, byte [edx]
mov byte [ebx], cl
inc ebx
inc esi
inc dword [ebp - 0x200]
cmp esi, dword [ebp - 0xec]
jb 0x716f2a
xor ecx, ecx
mov cl, byte [ebp - 0xfc]
cmp ecx, 0xd
je 0x716f5e
xor eax, eax
mov al, byte [ebp - 0xfc]
cmp eax, 0xa
jne 0x716f68
mov edx, dword [ebp + 0xc]
or dword [edx + 0x54], 0x800
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x716fd6
mov dword [ebp - 0x48], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0xec], 1
je 0x716f90
cmp dword [ebp - 0x4c], 0
jne 0x716fcb
xor edx, edx
mov dl, byte [ebp - 0xfc]
or edx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], edx
xor ecx, ecx
mov cl, byte [ebp - 0xfc]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xec], 1
je 0x717011
xor edx, edx
mov dl, byte [ebx - 1]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0x38], eax
jmp 0x717011
or edx, 0xffffffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], edx
jmp 0x717011
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0xec], 1
je 0x716ffd
cmp dword [ebp - 0x4c], 0
jne 0x717011
xor edx, edx
mov dl, byte [ebx - 1]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x58]
or eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], eax
inc dword [edi]
jmp 0x7128d5
mov edx, dword [ebp - 0xc]
mov eax, dword [edi]
mov dword [edx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24