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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x3c10
call fcn.007ce210
mov esi, dword [ebp + 8]
mov dword [esp + 0x60], 0xb
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2e4], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x2d0], xmm0
movapd xmmword [esp + 0x2c0], xmm0
movapd xmmword [esp + 0x2b0], xmm0
movapd xmmword [esp + 0x2a0], xmm0
movapd xmmword [esp + 0x290], xmm0
movapd xmmword [esp + 0x280], xmm0
movapd xmmword [esp + 0x270], xmm0
movapd xmmword [esp + 0x260], xmm0
movapd xmmword [esp + 0x230], xmm0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], 0
lea eax, [esp + 0x248]
mov dword [esp + 0x258], eax
mov dword [esp + 0x24c], 0
lea eax, [esp + 0x230]
mov dword [esp + 0x38], eax
mov dword [esp + 0x248], eax
mov dword [esp + 0x22c], 0
mov dword [esp + 0x228], 0
lea eax, [esp + 0x1d0]
mov dword [esp + 0x224], eax
mov dword [esp + 0x1fc], 0
movapd xmmword [esp + 0x1d0], xmm0
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e8], 0
lea eax, [esp + 0x2a0]
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1ec], 0
lea ebx, [esp + 0x260]
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x1f4], 0
mov byte [esp + 0xde], 0x65
mov edi, 0xd
mov dword [esp], ebx
mov dword [esp + 8], str.7.200.1.95459
mov dword [esp + 4], 0x40
call fcn.0068e1d0
mov dword [esp], ebx
call fcn.007cf040
mov dword [esp + 0x1f4], eax
mov eax, dword [esi + 8]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov byte [esp + 0xc6], al
mov byte [esp + 0x83], al
mov byte [esp + 0x72], al
mov byte [esp + 0x82], al
mov byte [esp + 0x3f], al
mov byte [esp + 0x73], al
mov byte [esp + 0xc5], al
mov byte [esp + 0xb3], al
mov byte [esp + 0xd2], al
mov byte [esp + 0xbe], al
mov byte [esp + 0xbf], al
mov byte [esp + 0x162], al
mov byte [esp + 0x151], al
mov byte [esp + 0x161], al
mov dword [esp + 0x104], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x118], eax
mov byte [esp + 0x16f], al
mov byte [esp + 0x160], al
mov byte [esp + 0x152], al
mov byte [esp + 0x147], al
mov byte [esp + 0x153], al
mov byte [esp + 0x1ab], al
mov byte [esp + 0x103], al
mov byte [esp + 0xc7], al
mov byte [esp + 0xd3], al
mov byte [esp + 0x47], al
mov byte [esp + 0xdf], al
mov byte [esp + 0x163], al
mov dword [esp + 0xa0], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x184], eax
je 0x6d6da7
mov dword [esp + 0x12c], ebx
lea eax, [esp + 0x22c]
xor ecx, ecx
cmp edi, 0xd
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x108]
je 0x6d4aea
imul edi, edi
and edi, 3
cmp edi, 3
je 0x6d4aea
mov dword [esp + 0xf0], edx
mov eax, 0x11
mov byte [esp + 0x163], 8
mov byte [esp + 0xc6], 4
mov esi, dword [esp + 0x1a4]
lea ecx, [esi + esi*2]
mov edx, dword [esp + 0x11c]
mov ecx, dword [edx + ecx*8 + 0x10]
cmp ecx, 4
jne 0x6d4ce0
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
mov dword [esp + 0x118], esi
mov ebx, dword [esp + 0x12c]
jne 0x6d4dfa
jmp 0x6d878e
mov dword [esp + 0xf0], edx
mov byte [esp + 0x163], dl
mov edi, dword [esp + 0x74]
jmp 0x6d4cbb
mov edx, 0x44
add dl, 4
mov dword [esp + 0x184], edx
mov edx, 0x44
add dl, 0xd1
mov dword [esp + 0x164], edx
mov edx, 0x44
add dl, 8
mov dword [esp + 0x194], edx
mov edx, 0x44
add dl, 0x27
mov dword [esp + 0x178], edx
mov ebx, 0x44
add bl, 0x33
mov dword [esp + 0x154], ebx
add bl, dl
mov dl, bl
add dl, 0x5c
mov byte [esp + 0x1ab], dl
mov dl, bl
add dl, 0x31
mov byte [esp + 0x153], dl
add bl, 0x2e
mov dword [esp + 0x168], ebx
mov dh, bl
xor dh, dl
add dh, 5
mov byte [esp + 0x147], dh
mov dl, dh
xor dl, bl
add dl, 0x5b
mov byte [esp + 0x152], dl
mov bl, dl
add bl, dh
mov dl, bl
add dl, 0xc2
mov byte [esp + 0x160], dl
add bl, 0xd0
mov byte [esp + 0x16f], bl
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
add ecx, edx
lea edi, [esp + 0x1e8]
lea edx, [esp + 0x1e0]
mov dword [esp + 0x148], edx
lea edx, [esp + 0x1d8]
mov dword [esp + 0x138], edx
lea ebx, [esi + 4]
lea edx, [esp + 0x200]
mov dword [esp + 0x134], edx
lea edx, [esp + 0x250]
mov dword [esp + 0x13c], edx
lea edx, [esp + 0x208]
mov dword [esp + 0x180], edx
lea edx, [esp + 0x210]
mov dword [esp + 0x17c], edx
lea edx, [esp + 0x218]
mov dword [esp + 0x14c], edx
lea edx, [esp + 0x1bc]
mov dword [esp + 0x190], edx
lea edx, [esp + 0x1b0]
mov dword [esp + 0x140], edx
lea edx, [esp + 0x1b4]
mov dword [esp + 0x170], edx
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x198], eax
mov byte [esp + 0x161], 0xc
mov byte [esp + 0x151], 0x5e
mov byte [esp + 0x163], 0x69
mov byte [esp + 0x162], 2
mov dl, 0x4e
mov dword [esp + 0x18c], edx
mov dl, 0x62
mov dword [esp + 0x158], edx
mov dl, 0x4f
mov dword [esp + 0x1a0], edx
mov dl, 0x2f
mov dword [esp + 0x188], edx
mov dl, 0x46
mov dword [esp + 0x15c], edx
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6d4b10
mov dword [esp + 0x74], edi
mov dword [esp + 0x108], ebx
jmp 0x6d4cf3
mov dword [esp + 0x118], esi
mov ebx, dword [esp + 0x12c]
jmp 0x6d878e
mov eax, dword [esp + 0x108]
mov eax, dword [eax]
mov edi, dword [esp + 0x1a4]
lea esi, [edi + edi*2]
lea ecx, [eax + esi*8]
mov dword [esp + 0xf4], ecx
mov edx, dword [eax + esi*8]
add edx, 0xfffffffe
cmp edx, 0x24
ja case.default.0x6d4d69
mov byte [esp + 0xdf], 0x27
mov dword [esp + 0x11c], eax
mov dword [esp + 0x4c], 9
mov eax, 0x18
mov dword [esp + 0x50], 2
mov ebx, 4
mov dword [esp + 0x54], 1
mov ecx, 0x12
mov dword [esp + 0x60], 7
mov dword [esp + 0x118], edi
mov edi, 0x13
jmp dword [edx*4 + 0x7ec08c]
mov byte [esp + 0x47], 0x5d
mov eax, dword [esp + 0x11c]
cmp dword [eax + esi*8 + 0x10], 0x40
jbe 0x6d5096
mov dword [esp + 0x54], 9
mov edx, dword [esp + 0x54]
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp edx, eax
jne 0x6d502b
mov edi, 0x18
movzx eax, byte [esp + 0x163]
cmp eax, 8
jne 0x6d5153
mov byte [esp + 0x163], 0x69
mov byte [esp + 0xc6], 4
mov eax, dword [esp + 0x11c]
cmp dword [eax + esi*8 + 0x10], 4
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
mov ebx, dword [esp + 0x12c]
jne 0x6d869f
mov eax, dword [esp + 0x1a0]
movzx ecx, al
cmp ecx, 0x36
je 0x6d4e51
mov eax, 0xb
cmp ecx, 0x6d
jne 0x6d4eaf
mov dword [esp + 0x12c], ebx
mov eax, 1
mov cl, 0x36
mov dword [esp + 0x1a0], ecx
mov edx, dword [esp + 0x1a4]
lea ecx, [edx + edx*2]
mov esi, dword [esp + 0x11c]
mov ecx, dword [esi + ecx*8 + 0x14]
mov ecx, dword [ecx]
mov dword [esp + 0x1fc], ecx
mov ecx, edx
jmp 0x6d5c11
mov dword [esp + 0x12c], ebx
xor eax, eax
mov ecx, 3
mov edi, dword [esp + 0x1a4]
lea edx, [edi + edi*2]
jmp 0x6d4e95
mov ebx, 0xc
add bl, 0x61
mov dword [esp + 0x1a0], ebx
inc eax
mov esi, dword [esp + 0x11c]
mov esi, dword [esi + edx*8 + 0x14]
mov esi, dword [esi]
mov dword [esp + 0x1fc], esi
dec ecx
test eax, eax
jne 0x6d506f
mov esi, eax
xor esi, ecx
jne 0x6d4e70
mov dword [esp + 0x118], edi
jmp case.0x6d4d69.7
mov esi, dword [esp + 0x1a4]
mov ecx, esi
mov dword [esp + 0x118], ecx
jmp 0x6d569c
mov esi, 0xd
lea eax, [esp + 0x1c0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.007895f0
mov dword [esp + 0x2f4], eax
test eax, eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
jne 0x6d8709
jmp 0x6d84d8
movzx eax, byte [esp + 0x162]
cmp eax, 0x3f
jne 0x6d50cb
mov byte [esp + 0x162], 0x3f
lea eax, [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.00789690
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
setne al
movzx eax, al
or eax, 4
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
jmp 0x6d6a2c
mov eax, 8
movzx edx, byte [esp + 0x161]
cmp edx, 0xc
je 0x6d5166
mov ecx, 0x12
mov eax, 0x1a
cmp edx, 0x5c
jne 0x6d5179
mov ebx, dword [esp + 0x12c]
jmp 0x6d56d4
movzx ecx, byte [esp + 0x153]
cmp ecx, 0x13
je 0x6d5199
mov eax, 2
cmp ecx, 0x71
jne 0x6d51ff
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x118], ecx
mov edx, dword [ebp + 8]
jmp 0x6d876a
mov edx, dword [esp + 0x11c]
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [esp + 0x190]
mov dword [ecx], eax
mov eax, dword [edx + esi*8 + 0x10]
mov dword [esp + 0x94], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0xa4], 0xffce
test eax, eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
jne 0x6d6386
jmp case.0x6d4d69.7
mov eax, 0xb
movzx ecx, byte [esp + 0x47]
cmp ecx, 0x17
mov edx, dword [esp + 0x1a4]
je 0x6d5279
mov esi, 0x1e
cmp ecx, 0x5d
jne 0x6d5285
mov byte [esp + 0x47], 0x1e
mov dword [esp + 0x2f4], 0x30000003
mov dword [esp + 0x118], edx
jmp 0x6d8709
mov dword [esp + 0x118], edi
jmp case.0x6d4d69.7
mov byte [esp + 0xdf], 0x27
mov dword [esp + 0x11c], eax
mov dword [esp + 0x118], edi
jmp case.0x6d4d69.7
mov eax, dword [eax + esi*8 + 0x14]
mov dword [esp + 8], eax
lea eax, [esp + 0x2a0]
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], 0x40
call fcn.0068e1d0
mov dword [esp], esi
call fcn.007cf040
mov dword [esp + 0x1ec], eax
jmp 0x6d5766
xor esi, esi
mov edi, 3
mov ebx, 0x66
add ebx, 0xffffffad
mov dword [esp + 0x110], eax
jmp 0x6d5130
mov al, bl
add al, 0xef
mov byte [esp + 0x162], al
inc esi
lea eax, [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.00789690
mov dword [esp + 0x2f4], eax
test eax, eax
setne al
movzx eax, al
or eax, 4
mov dword [esp + 0x110], eax
dec edi
mov eax, esi
xor eax, edi
setne al
movzx eax, al
cmp esi, eax
jb 0x6d50f0
mov eax, dword [esp + 0x1a4]
mov ecx, eax
mov dword [esp + 0x118], ecx
jmp 0x6d6168
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x12c]
jmp 0x6d4a63
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x118], ecx
jmp 0x6d8941
mov ecx, dword [esp + 0x1a4]
mov ebx, ecx
mov edx, dword [esp + 0xf0]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x11c]
jmp 0x6d6532
mov byte [esp + 0x153], 0x71
mov dword [esp + 0x1ac], 0
mov ebx, dword [esp + 0x11c]
mov esi, dword [ebx + esi*8 + 4]
lea eax, [esp + 0x1ac]
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 8], 0
call fcn.00788af0
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d5291
mov dword [esp + 0x6c], esi
jmp 0x6d525f
mov byte [esp + 0x153], 0x27
mov dword [esp + 0x1ac], 0
mov ebx, dword [esp + 0x11c]
mov edi, dword [ebx + esi*8 + 4]
lea eax, [esp + 0x1ac]
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 8], 0
call fcn.00788af0
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d52b8
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
jmp 0x6d5fd5
mov dword [esp + 0x118], edx
jmp 0x6d5310
mov dword [esp + 0x118], edx
jmp 0x6d5d4b
mov dword [esp + 0x6c], esi
mov eax, 0xc
mov dword [esp + 0x12c], 4
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x118], ecx
jmp 0x6d6a17
mov dword [esp + 0x6c], edi
mov eax, 8
mov ebx, 4
jmp 0x6d5607
mov edx, 1
add dl, 0x45
mov dword [esp + 0x15c], edx
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
movsd xmm0, qword [esp + 0x1c0]
movsd qword [esi], xmm0
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne dl
movzx edx, dl
cmp eax, edx
jb 0x6d52d0
jmp case.0x6d4d69.7
cmp eax, 1
je 0x6d62ab
xor eax, eax
test al, al
jne 0x6d62ab
mov byte [esp + 0x47], 0x5d
jmp 0x6d86cb
mov esi, dword [esp + 0x108]
mov esi, dword [esi]
mov edi, dword [esi + edx*8 + 0x14]
movsd xmm0, qword [edi + 0xc]
mov edi, dword [esp + 0x180]
movsd qword [edi], xmm0
mov esi, dword [esi + edx*8 + 0x14]
movsd xmm0, qword [esi + 4]
mov ebx, 0xd8
add bl, 0xa5
mov dword [esp + 0x188], ebx
inc eax
mov esi, dword [esp + 0x17c]
movsd qword [esi], xmm0
or byte [esp + 0x1d0], 2
dec ecx
mov esi, eax
xor esi, ecx
setne bl
movzx esi, bl
cmp eax, esi
jb 0x6d5330
jmp case.0x6d4d69.7
mov edx, 0x3c
add dl, 0x13
mov dword [esp + 0x1a0], edx
add eax, ecx
setne al
movzx eax, al
add ecx, eax
lea eax, [ebx + ebx*2]
mov eax, dword [edi + eax*8 + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x1fc], eax
test ecx, ecx
jne 0x6d53ca
mov eax, ecx
not eax
and eax, 1
mov edx, ecx
add edx, eax
jne 0x6d5390
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], edi
mov dword [esp + 0x1a4], esi
jmp case.0x6d4d69.7
mov byte [esp + 0x151], 0x6d
lea eax, [esp + 0x1cc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.00789540
mov dword [esp + 0x2f4], eax
test eax, eax
jne 0x6d8709
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x6d840f
jmp 0x6d8709
mov bl, 0x7b
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, dword [esp + 0x1cc]
mov edx, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [ecx]
mov dword [esp + 0x1dc], edx
mov edx, dword [ecx + 0xc]
mov dword [esi], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x1e4], ecx
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6d5430
mov dword [esp + 0x158], ebx
jmp case.0x6d4d69.7
mov al, 0x24
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.007898d0
mov dword [esp + 0x2f4], eax
test eax, eax
setne al
movzx eax, al
or eax, 4
mov dword [esp + 0x110], eax
jmp 0x6d6a2c
mov eax, dword [edi]
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + edx*8 + 0x14]
mov eax, dword [eax + edx*8 + 0x10]
add eax, 0xffffffe8
shr eax, 2
mov edx, 0x24924925
mul edx
mov esi, dword [ecx + 0x14]
cmp esi, edx
mov byte [esp + 0x16f], 0x4b
jbe 0x6d8903
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
je 0x6d8903
mov eax, dword [esp + 0x164]
movzx eax, al
cmp eax, 0x12
jne 0x6d5528
mov eax, 4
mov cl, 0x12
mov dword [esp + 0x164], ecx
jmp 0x6d7ca3
mov dword [esp + 0x108], edi
mov al, 0x15
mov dword [esp + 0x164], eax
mov edi, dword [esp + 0x124]
jmp 0x6d6886
xor eax, eax
test al, al
jne 0x6d5610
mov dword [esp + 0x12c], ebx
mov ebx, 9
mov byte [esp + 0x160], 0x3d
mov edx, dword [esp + 0x11c]
mov eax, dword [edx + esi*8 + 0x10]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d559c
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
jmp 0x6d7219
mov dword [esp + 0x11c], edx
mov edi, 0xf
mov ebx, 8
mov ecx, dword [edx + esi*8 + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], 0xfffffff9
call fcn.0068ee80
mov dword [esp + 0x2f4], eax
test eax, eax
jne 0x6d5631
cmp ebx, 4
jne 0x6d565c
mov eax, ebx
or eax, 2
xor ebx, 2
add ebx, eax
je 0x6d565c
mov ecx, 0x10
mov eax, 0x13
movzx edx, byte [esp + 0x160]
cmp edx, 0x3d
mov ebx, dword [esp + 0x12c]
jne 0x6d56d4
cmp eax, 8
jne 0x6d5544
mov dword [esp + 0x12c], ebx
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
jmp 0x6d8884
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
cmp edi, 0xd
jne 0x6d8709
mov eax, 3
sub eax, edi
xor eax, edi
jne 0x6d5934
jmp 0x6d8709
mov eax, dword [esp + 0x108]
mov ecx, dword [eax]
mov edx, dword [ecx + esi*8 + 0x14]
cmp dword [edx + 0x10], 0x636f6d6c
je 0x6d5779
mov eax, 0x10
xor ebx, ebx
test bl, bl
jne 0x6d5779
mov esi, dword [esp + 0x1a4]
mov ecx, esi
mov dword [esp + 0x118], ecx
mov ebx, dword [esp + 0x12c]
xor ecx, ecx
cmp eax, 0xb
je 0x6d5819
mov dword [esp + 0x12c], ebx
xor eax, eax
test al, al
jne 0x6d5820
mov dword [esp + 0x1a4], esi
mov eax, 0x19
mov dword [esp + 0x2f4], 0x7000002f
jmp 0x6d6267
cmp ecx, 0x10
je 0x6d5736
xor eax, eax
test al, al
jne 0x6d5736
mov byte [esp + 0x161], 0xc
mov edx, dword [esp + 0x11c]
mov eax, dword [edx + esi*8 + 0x10]
mov ecx, dword [edx + esi*8 + 0x14]
mov edx, dword [edx + esi*8 + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0068ee80
mov dword [esp + 0x2f4], eax
test eax, eax
je 0x6d5806
xor eax, eax
test al, al
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
je 0x6d89a2
jmp 0x6d89f8
mov dword [esp + 0x12c], ebx
mov byte [esp + 0x160], 0x59
mov edx, dword [esp + 0x11c]
mov eax, dword [edx + esi*8 + 0x10]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d559c
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
jmp case.0x6d4d69.7
movzx eax, byte [esp + 0x152]
cmp eax, 0x37
mov edi, dword [esp + 0x1a4]
je 0x6d5833
cmp eax, 0x49
je 0x6d588a
cmp eax, 0x73
jne 0x6d58d3
mov ebx, edi
mov edi, 0x15
mov eax, 4
mov byte [esp + 0x152], 0x37
add edx, 0x14
mov dword [esp + 0x1bc], edx
mov edx, dword [ecx + esi*8 + 0x10]
add edx, 0xffffffec
mov dword [esp + 0x94], edx
mov dword [esp + 0x1b8], edx
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov dword [esp + 0xa4], 0xfffd
cmp edx, ecx
mov dword [esp + 0x118], ebx
jne 0x6d6ebc
jmp 0x6d6a6a
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x118], eax
jmp 0x6d89f8
mov dword [esp + 0x12c], ebx
mov edi, dword [esp + 0x11c]
mov ebx, dword [esp + 0x118]
jmp 0x6d53b9
mov byte [esp + 0x152], 0x49
add edx, 0x14
mov dword [esp + 0x1bc], edx
mov ecx, dword [ecx + esi*8 + 0x10]
add ecx, 0xffffffec
mov dword [esp + 0x94], ecx
mov dword [esp + 0x1b8], ecx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
mov dword [esp + 0xa4], 0xfffd
cmp ecx, eax
mov dword [esp + 0x118], edi
jne 0x6d6386
jmp case.0x6d4d69.7
mov eax, 0xc
mov byte [esp + 0x152], 0x73
add edx, 0x14
mov dword [esp + 0x1bc], edx
mov ecx, dword [ecx + esi*8 + 0x10]
add ecx, 0xffffffec
mov dword [esp + 0x94], ecx
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0xa4], 0xfffd
mov dword [esp + 0x118], edi
je case.0x6d4d69.7
jmp 0x6d8255
mov ebx, 0x13
mov byte [esp + 0x152], 0x48
add edx, 0x14
mov dword [esp + 0x1bc], edx
mov ecx, dword [ecx + esi*8 + 0x10]
mov esi, 4
add ecx, 0xffffffec
mov dword [esp + 0x94], ecx
mov dword [esp + 0x1b8], ecx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
mov dword [esp + 0xa4], 0xfffd
cmp ecx, eax
mov dword [esp + 0x118], edi
jne 0x6d7021
jmp 0x6d7459
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x130], 0xfffc
mov dword [esp + 0xf0], 0xfe
jmp 0x6d64bf
mov eax, dword [esp + 0x118]
lea esi, [eax + eax*2]
mov edx, dword [esp + 0x11c]
mov eax, dword [edx + esi*8 + 0x10]
mov ecx, dword [edx + esi*8 + 0x14]
mov edx, dword [edx + esi*8 + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0068ee80
mov dword [esp + 0x2f4], eax
test eax, eax
jne 0x6d8709
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x6d8709
mov eax, dword [esp + 0x154]
movzx ecx, al
cmp ecx, 0x3c
je 0x6d59e9
mov eax, 0xa
cmp ecx, 0x77
jne 0x6d697c
mov al, 0x6b
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x108]
mov eax, dword [eax]
mov ecx, dword [eax + esi*8 + 0x14]
add ecx, 0x10
mov dword [esp + 0x1bc], ecx
mov ecx, dword [eax + esi*8 + 0x10]
jmp 0x6d5a39
mov edi, 0xd
mov al, 0x77
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x108]
mov eax, dword [eax]
mov ecx, dword [eax + esi*8 + 0x14]
add ecx, 0x10
mov dword [esp + 0x1bc], ecx
mov eax, dword [eax + esi*8 + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x94], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0xa4], 0xfffc
je 0x6d563f
jmp 0x6d6386
add ecx, 0xfffffff0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x1b8], ecx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
mov dword [esp + 0xa4], 0xfffc
cmp ecx, eax
je 0x6d5934
jmp 0x6d6386
mov eax, dword [esp + 0x118]
lea esi, [eax + eax*2]
mov edx, dword [esp + 0x11c]
mov eax, dword [edx + esi*8 + 0x10]
mov ecx, dword [edx + esi*8 + 0x14]
mov edx, dword [edx + esi*8 + 4]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.0068f340
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d8709
mov ebx, dword [esp + 0x108]
mov eax, dword [ebx]
mov ecx, dword [eax + esi*8]
mov edx, ecx
or edx, 2
mov edi, ecx
xor edi, 2
add edi, edx
setne dl
movzx edx, dl
or edx, 4
cmp ecx, 0x15
mov ecx, 4
cmove ecx, edx
mov dword [esp + 0x88], ecx
mov eax, dword [eax + esi*8 + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x140]
mov dword [eax], 1
mov dword [esp], 0xc
call fcn.00492770
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x170]
mov dword [ecx], eax
test eax, eax
je 0x6d5be0
xor eax, eax
test al, al
jne 0x6d5be0
movzx eax, byte [esp + 0x147]
cmp eax, 0x3f
jne 0x6d5c4f
mov eax, dword [esp + 0x40]
mov dword [eax], 0
mov eax, dword [ebx]
mov ecx, dword [esp + 0x118]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx + 0x10]
mov esi, dword [esp + 0x170]
mov edx, dword [esi]
mov dword [edx + 4], eax
mov eax, dword [ebx]
mov eax, dword [eax + ecx + 0x14]
mov ecx, dword [esi]
mov dword [ecx + 8], eax
mov byte [esp + 0x147], 0x3f
mov bl, 0x5a
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1b8], 0
lea eax, [esp + 0x1b8]
mov dword [esp + 8], eax
lea eax, [esp + 0x1bc]
mov dword [esp + 4], eax
lea eax, [esp + 0x1b0]
mov dword [esp], eax
call fcn.00626bc0
mov dword [esp + 0x2f4], eax
test eax, eax
jne 0x6d5dff
jmp 0x6d5d54
mov cl, 0x64
mov eax, 0x11
movzx ecx, cl
cmp ecx, 0x1c
je 0x6d7e9a
cmp ecx, 0x64
jne 0x6d5e33
mov edx, dword [esp + 0x1a4]
mov esi, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], esi
mov dword [esp + 0x1a4], edx
cmp eax, 1
jne 0x6d5c3a
imul eax, eax
and eax, 3
cmp eax, 2
jb case.0x6d4d69.7
mov eax, 5
mov dword [esp + 0x2f4], 0x70000003
jmp 0x6d7f80
mov dword [esp + 0x50], 0xe
cmp dword [esp + 0x50], 2
jne 0x6d5ca2
mov esi, 9
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.00789450
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d8709
jmp 0x6d6b88
mov eax, dword [esp + 0x40]
mov dword [eax], 0
mov esi, dword [esp + 0x108]
mov eax, dword [esi]
mov ecx, dword [esp + 0x118]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx + 0x10]
mov edi, dword [esp + 0x170]
mov edx, dword [edi]
mov dword [edx + 4], eax
mov eax, dword [esi]
mov eax, dword [eax + ecx + 0x14]
mov ecx, dword [edi]
mov dword [ecx + 8], eax
mov esi, 0xe
mov byte [esp + 0x147], 8
mov bl, 0x5a
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1b8], 0
lea eax, [esp + 0x1b8]
mov dword [esp + 8], eax
lea eax, [esp + 0x1bc]
mov dword [esp + 4], eax
lea eax, [esp + 0x1b0]
mov dword [esp], eax
call fcn.00626bc0
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d5dff
cmp esi, 0xe
jne 0x6d5e29
mov eax, dword [esp + 0x168]
movzx eax, al
cmp eax, 0x10
je 0x6d5e93
cmp eax, 0x1c
je 0x6d5ed3
cmp eax, 0x26
jne 0x6d5f83
xor edi, edi
mov ebx, 0xd3
mov esi, 0xd3
xor esi, 0xdc
add ebx, esi
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x130]
jmp 0x6d5ddb
mov al, bl
add al, 0x2e
mov dword [esp + 0x168], eax
mov eax, 3
sub eax, edi
xor eax, edi
setne al
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x170]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004936c0
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov eax, edi
imul eax, eax
and eax, 3
test edi, edi
je 0x6d5da0
cmp eax, 2
je 0x6d5da0
mov dword [esp + 0x130], edx
mov dword [esp + 0xf0], ecx
jmp 0x6d8682
movzx ecx, bl
cmp ecx, 0x1a
je 0x6d5e43
mov esi, 0x15
cmp ecx, 0x5a
je 0x6d5e87
mov esi, 0x10
mov eax, 8
cmp ecx, 0x67
je 0x6d6e26
jmp 0x6d6cd2
mov byte [esp + 0x47], 0x17
jmp 0x6d86cb
mov dword [esp + 0x2f4], 0x70000003
jmp 0x6d8709
xor ecx, ecx
mov eax, 0x3c
xor eax, 0x33
jmp 0x6d5e6f
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
add ecx, edx
mov dword [esp + 0x2f4], 0x700002bb
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6d5e50
jmp 0x6d8706
mov ebx, dword [esp + 0x12c]
jmp 0x6d788f
mov esi, 0x1a
mov al, 0x76
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x170]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x88]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x130], eax
jmp 0x6d78c3
mov dword [esp + 0x4c], 0x11
cmp dword [esp + 0x4c], 9
jne 0x6d5f10
mov eax, dword [esp + 0x118]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x11c]
mov ecx, dword [esi + eax*8 + 0x14]
mov edx, dword [esp + 0x138]
mov dword [edx], ecx
mov eax, dword [esi + eax*8 + 0x10]
mov dword [esp + 0x1d4], eax
jmp case.0x6d4d69.7
xor esi, esi
mov edi, 0xffffffff
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x130]
jmp 0x6d5f5f
mov eax, 0xe2
xor al, 0xc4
mov dword [esp + 0x168], eax
inc esi
mov eax, dword [esp + 0x170]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004936c0
dec edi
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov eax, esi
and eax, 1
xor eax, edi
setne al
movzx eax, al
cmp esi, eax
jb 0x6d5f30
mov dword [esp + 0x130], edx
mov dword [esp + 0xf0], ecx
jmp 0x6d64bf
mov al, 0x1c
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x170]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x88]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x130], eax
jmp 0x6d64bf
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x2f4], 0x700002bb
jmp 0x6d8709
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1b8], 0
mov eax, dword [esp + 0x1ac]
lea ecx, [esp + 0x1b8]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x1bc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00626a20
mov dword [esp + 0x2f4], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d603c
mov eax, 7
mov ebx, 4
jmp 0x6d605c
mov eax, 6
mov dword [esp + 0x2f4], 0x700002bb
mov dword [esp + 0x12c], 5
jmp 0x6d7088
cmp eax, 7
jne 0x6d60c3
mov dword [esp + 0x12c], ebx
mov eax, 1
mov cl, byte [esp + 0x1ab]
movzx ecx, cl
cmp ecx, 0x3e
je 0x6d60d6
cmp ecx, 0x55
jne 0x6d61cb
mov dword [esp + 0xf0], 0xc
mov byte [esp + 0x1ab], 0x3e
mov eax, dword [esp + 0x1ac]
mov dword [esp], eax
call fcn.00626ae0
mov dword [esp + 0x114], edi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x130], eax
mov ecx, 0xc
jmp 0x6d79a5
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x114], edi
jmp 0x6d6a2c
mov dword [esp + 0x114], edi
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jne 0x6d618c
xor esi, esi
mov ebx, 0xd9
add ebx, 0xffffff2d
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x130]
jmp 0x6d614f
mov al, bl
xor al, 0x53
mov byte [esp + 0x1ab], al
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov eax, dword [esp + 0x1ac]
mov dword [esp], eax
call fcn.00626ae0
mov eax, 0xc
mov ecx, edi
test esi, esi
je 0x6d6120
mov dword [esp + 0x130], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x1a4]
cmp ebx, 6
jne 0x6d6336
mov dword [esp + 0x1a4], eax
mov eax, ebx
not eax
and eax, 1
add eax, ebx
jne 0x6d64bf
jmp 0x6d6a2c
movzx eax, byte [esp + 0x72]
cmp eax, 0xd
je 0x6d6204
cmp eax, 0x11
mov eax, dword [esp + 0xa0]
jne 0x6d6233
mov byte [esp + 0x72], 0x32
mov byte [esp + 0x82], 0x1b
mov bl, 0x3c
test al, 0xf
mov al, 0x3c
mov dword [esp + 0xe0], eax
je 0x6d6279
jmp 0x6d62ab
mov byte [esp + 0x1ab], 0x42
mov eax, dword [esp + 0x1ac]
mov dword [esp], eax
call fcn.00626ae0
mov dword [esp + 0xf0], 0xc
mov dword [esp + 0x114], edi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x130], eax
jmp 0x6d64bf
mov eax, 1
mov byte [esp + 0x72], 0x11
mov byte [esp + 0x82], 0x1b
mov bl, 0x3c
mov ecx, dword [esp + 0xa0]
test cl, 0xf
mov cl, 0x3c
mov dword [esp + 0xe0], ecx
jne 0x6d5310
jmp 0x6d6279
mov edx, eax
mov ecx, edx
and ecx, 0xf
and eax, 0xf
mov byte [esp + 0x72], 0xd
mov byte [esp + 0x82], 0x1b
mov al, 0x3c
mov dword [esp + 0xe0], eax
jne 0x6d62ab
mov eax, edx
and eax, 1
xor ecx, eax
mov eax, 0xe
not ecx
test ecx, ecx
je 0x6d62ab
cmp eax, 0xe
mov eax, dword [esp + 0xe0]
mov bl, al
jne 0x6d80ee
mov esi, dword [esp + 0xd8]
mov dword [esp + 8], esi
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.007ce3c0
mov al, bl
mov dword [esp + 0xe0], eax
mov edi, esi
jmp 0x6d85d2
mov eax, 0xe
mov ecx, dword [esp + 0xe0]
movzx ecx, cl
cmp ecx, 0x42
je 0x6d8585
xor esi, esi
mov edi, dword [esp + 0xd8]
and edi, 0xfffffff0
mov ebx, edi
sub ebx, dword [esp + 0xa0]
jmp 0x6d631d
mov eax, 0xb2
add al, 0x8a
mov dword [esp + 0xe0], eax
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.007ce3c0
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jb 0x6d62e0
jmp 0x6d85d2
mov dword [esp + 0x1a4], eax
jmp 0x6d6a2c
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
add ecx, edx
mov esi, ebx
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6d6350
mov dword [esp + 0x110], esi
jmp 0x6d605c
mov esi, 0xa
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.00492770
mov edi, eax
test edi, edi
mov edx, dword [esp + 0x178]
mov ebx, dword [esp + 0x120]
je 0x6d63e1
xor eax, eax
test al, al
jne 0x6d63e1
mov dword [esp + 0x124], edi
mov ecx, 0xc
mov eax, 0xe
movzx edx, dl
cmp edx, 0x6b
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x128], edx
je 0x6d67e1
jmp 0x6d63f4
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x128], eax
jmp 0x6d690c
cmp ecx, 0xc
mov edi, dword [esp + 0x124]
jne 0x6d6499
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x6d64a5
xor esi, esi
mov ebx, dword [esp + 0x178]
mov edx, dword [esp + 0xf0]
jmp 0x6d6481
mov ebx, 0x81
add bl, 0xea
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007ce510
mov dword [esp + 0x1bc], edi
mov edx, 0xfe
mov eax, dword [esp + 0x128]
mov dword [esp + 0x130], eax
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp esi, eax
jb 0x6d6430
jmp 0x6d64b1
mov ebx, dword [esp + 0x12c]
jmp 0x6d82d8
mov ebx, dword [esp + 0x12c]
jmp 0x6d82d8
mov dword [esp + 0xf0], edx
mov dword [esp + 0x178], ebx
mov esi, dword [esp + 0x228]
mov eax, esi
shl eax, 4
add eax, 0x10
mov ecx, dword [esp + 0x198]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
mov dword [esp + 0xf8], eax
test eax, eax
je 0x6d661c
mov eax, 0xa
xor ecx, ecx
test cl, cl
jne 0x6d661c
mov edx, dword [esp + 0xf0]
mov dword [esp + 0xec], edx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x1a4]
mov edi, dword [esp + 0x11c]
mov ebx, dword [esp + 0x118]
cmp eax, 0xa
jne 0x6d66a2
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], edi
mov dword [esp + 0xf0], edx
mov dword [esp + 0x1a4], ecx
mov eax, dword [esp + 0x194]
movzx eax, al
cmp eax, 0x42
jne 0x6d6771
xor eax, eax
mov ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x68], esi
shl edx, 4
jmp 0x6d6602
mov ebx, 0xfd
add bl, 0x45
mov dword [esp + 0x194], ebx
inc eax
mov esi, dword [esp + 0x198]
mov edi, dword [esp + 0xf8]
mov dword [esi], edi
mov esi, dword [esp + 0xe8]
mov dword [edi + edx], esi
mov esi, dword [esp + 0x22c]
mov edi, dword [esp + 0xec]
mov dword [esi + edx + 4], edi
mov esi, dword [esp + 0x190]
mov esi, dword [esi]
mov edi, dword [esp + 0x22c]
mov dword [edi + edx + 8], esi
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x22c]
mov dword [edi + edx + 0xc], esi
mov esi, dword [esp + 0x228]
mov edi, esi
not edi
and edi, 1
add edi, esi
setne bl
movzx edi, bl
add edi, esi
mov dword [esp + 0x228], edi
dec ecx
test eax, eax
jne case.0x6d4d69.7
mov esi, eax
and esi, 1
xor esi, ecx
jne 0x6d6580
jmp case.0x6d4d69.7
mov al, 0x65
movzx eax, al
cmp eax, 0x65
jne 0x6d670e
mov dword [esp + 0x68], esi
xor esi, esi
jmp 0x6d666e
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x2f4], 0x70000003
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x6d6640
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xe8], eax
jmp 0x6d8709
mov dword [esp + 0x68], esi
mov dword [esp + 0xf0], edx
mov dword [esp + 0x1a4], ecx
mov byte [esp + 0x161], 0x5c
lea eax, [ebx + ebx*2]
mov dword [esp + 0x118], ebx
mov ecx, dword [edi + eax*8 + 0x10]
mov edx, dword [edi + eax*8 + 0x14]
mov eax, dword [edi + eax*8 + 4]
mov dword [esp + 0x11c], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0068ee80
mov dword [esp + 0x2f4], eax
test eax, eax
je 0x6d686c
xor eax, eax
test al, al
mov ebx, dword [esp + 0x12c]
je 0x6d89a2
jmp 0x6d89f8
mov dword [esp + 0x68], esi
mov dword [esp + 0x60], 0xc
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x2f4], 0x70000003
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x60]
cmp eax, 7
je case.0x6d4d69.21
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x6d8709
jmp case.0x6d4d69.21
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0xf8]
mov dword [eax], ecx
mov eax, esi
mov dword [esp + 0x68], esi
shl eax, 4
mov edx, dword [esp + 0xe8]
mov dword [ecx + eax], edx
mov ecx, dword [esp + 0x22c]
mov edx, dword [esp + 0xec]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esp + 0x190]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x22c]
mov dword [edx + eax + 8], ecx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esp + 0x22c]
mov dword [edx + eax + 0xc], ecx
mov eax, 0x15
mov cl, 0x4c
mov dword [esp + 0x194], ecx
inc dword [esp + 0x228]
xor esi, esi
cmp eax, 0xe
mov edi, dword [esp + 0x124]
je 0x6d67f9
xor eax, eax
test al, al
je case.0x6d4d69.7
mov ebx, dword [esp + 0x178]
mov edx, dword [esp + 0xf0]
jmp 0x6d6851
mov ebx, 0xd0
xor bl, 0x85
inc esi
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007ce510
mov dword [esp + 0x1bc], edi
mov edx, 0xfe
mov eax, dword [esp + 0x128]
mov dword [esp + 0x130], eax
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp esi, eax
jb 0x6d6810
jmp 0x6d64b1
mov ebx, dword [esp + 0x12c]
jmp 0x6d89f8
mov edi, dword [esp + 0x124]
mov ebx, dword [esp + 0x120]
mov eax, 0x17
mov ecx, dword [esp + 0x184]
movzx ecx, cl
cmp ecx, 0x48
je 0x6d7d15
mov esi, 0xd
cmp ecx, 0x7c
jne 0x6d6905
mov eax, 0x15
mov cl, 0x48
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x118]
mov esi, ecx
not ecx
and ecx, 1
add ecx, esi
setne cl
movzx edx, cl
add edx, esi
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx + 8]
jae 0x6d6a02
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], edi
mov ecx, edx
and ecx, 1
xor ecx, edx
mov dword [esp + 0x1a4], edx
not ecx
test ecx, ecx
jne 0x6d4cf3
jmp 0x6d6a17
mov edx, dword [esp + 0x178]
cmp esi, 0xa
je 0x6d69be
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x6d69be
mov al, 0x7c
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x118]
mov esi, eax
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx ecx, al
add ecx, esi
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 8]
jb 0x6d69e1
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], edi
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x178], edx
mov eax, 0xe
xor ecx, ecx
test cl, cl
jne 0x6d4cf3
cmp eax, 0xa
je 0x6d698b
xor eax, eax
test al, al
je 0x6d80ee
mov al, 0x3c
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x108]
mov eax, dword [eax]
mov ecx, dword [esp + 0x118]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x14]
add edx, 0x10
mov dword [esp + 0x1bc], edx
mov ecx, dword [eax + ecx*8 + 0x10]
jmp 0x6d5a39
mov dword [esp + 0x124], edi
mov dword [esp + 0x178], edx
mov eax, 0xb
mov dword [esp + 0x2f4], 0x70000003
jmp 0x6d7f48
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], edi
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x178], edx
jmp 0x6d4cf3
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], edi
mov dword [esp + 0x1a4], edx
cmp eax, 0xc
mov edi, dword [esp + 0x114]
je 0x6d8884
jmp 0x6d80ee
mov eax, 5
mov ecx, dword [esp + 0x110]
cmp ecx, 2
je 0x6d6a63
cmp ecx, 4
je 0x6d6a87
mov eax, 0x16
cmp ecx, 5
mov dword [esp + 0xc8], ecx
mov ebx, dword [esp + 0x12c]
jne 0x6d886a
jmp 0x6d89a2
mov dword [esp + 0xc8], ecx
cmp eax, 4
jne 0x6d80ee
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne case.0x6d4d69.7
jmp 0x6d80ee
mov dword [esp + 0xc8], eax
jmp case.0x6d4d69.7
mov eax, 0x10
mov cl, 0x14
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x118]
lea edx, [ecx + 1]
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx + 8]
jb 0x6d6ad5
mov esi, 0xc
mov ecx, edx
mov dword [esp + 0x1a4], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x6d7eff
jmp 0x6d837f
mov dword [esp + 0x1a4], edx
jmp 0x6d837f
mov esi, 0xf
mov byte [esp + 0xd2], 0xf
mov byte [esp + 0xc5], 0x3d
mov byte [esp + 0x83], 0x2d
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x3bfc]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x2bf8]
mov dword [esp + 0x78], eax
mov dword [esp], 3
call fcn.007ae890
lea ecx, [esp + 0x6a8]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], pe_nt_image_headers32
call fcn.007ae8d0
mov dword [esp + 0x114], 0x700002bb
test eax, eax
jne 0x6d6b88
mov ecx, 0xe
mov edx, eax
or edx, 2
xor eax, 2
add eax, edx
jne 0x6d6c9f
cmp esi, 9
jne 0x6d6bf4
xor eax, eax
mov ecx, dword [esp + 0x188]
movzx ecx, cl
cmp ecx, 2
je 0x6d6c00
cmp ecx, 0x7d
jne 0x6d6c14
mov eax, dword [esp + 0x108]
mov eax, dword [eax]
mov ecx, dword [esp + 0x118]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 + 0x14]
movsd xmm0, qword [edx + 0xc]
mov edx, dword [esp + 0x180]
movsd qword [edx], xmm0
mov eax, dword [eax + ecx*8 + 0x14]
movsd xmm0, qword [eax + 4]
mov al, 0x2f
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x17c]
movsd qword [eax], xmm0
or byte [esp + 0x1d0], 2
jmp case.0x6d4d69.7
mov edi, dword [esp + 0x114]
jmp 0x6d70fc
mov ecx, 3
mov edx, dword [esp + 0x118]
lea edx, [edx + edx*2]
jmp 0x6d537a
mov ecx, 0xa4
add ecx, 0xffffff80
mov edx, dword [esp + 0x118]
lea edx, [edx + edx*2]
jmp 0x6d6c86
mov bl, cl
add bl, 0xde
mov dword [esp + 0x188], ebx
mov esi, eax
not esi
and esi, 1
add esi, eax
setne bl
movzx esi, bl
add eax, esi
mov esi, dword [esp + 0x108]
mov esi, dword [esi]
mov edi, dword [esi + edx*8 + 0x14]
movsd xmm0, qword [edi + 0xc]
mov edi, dword [esp + 0x180]
movsd qword [edi], xmm0
mov esi, dword [esi + edx*8 + 0x14]
movsd xmm0, qword [esi + 4]
mov esi, dword [esp + 0x17c]
movsd qword [esi], xmm0
or byte [esp + 0x1d0], 2
mov esi, eax
imul esi, esi
and esi, 3
cmp esi, 2
sbb esi, esi
and esi, 1
cmp eax, esi
jb 0x6d6c30
jmp case.0x6d4d69.7
cmp ecx, 0xe
jne 0x6d6f7c
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x6d6f7c
movzx ecx, byte [esp + 0x83]
cmp ecx, 0x60
je 0x6d6d43
mov eax, 0xf
cmp ecx, 0x79
jne 0x6d6de1
cmp eax, 8
jne 0x6d6ce8
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x6d5fc5
mov byte [esp + 0x83], 0x60
lea eax, [esp + 0x6a8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.007ad7c0
cmp eax, 0x10
je 0x6d6e39
imul eax, eax
and eax, 3
cmp eax, 2
je 0x6d6e39
mov ebx, 0xf
mov dword [esp + 0xb8], 0x700002bb
mov edi, dword [esp + 0x104]
jmp 0x6d7bd8
mov edi, 0x16
mov byte [esp + 0x83], 0x2d
lea eax, [esp + 0x6a8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.007ad7c0
cmp eax, 0x10
mov dword [esp + 0xb8], 0x700002bb
je 0x6d8736
mov dword [esp + 0x60], 0xe
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x12c]
je 0x6d8744
mov dword [esp + 0x12c], ebx
mov dword [esp + 0xf0], edx
mov dword [esp + 0xb8], 0x700002bb
mov eax, dword [esp + 0x60]
cmp eax, 0xb
jne 0x6d6f3f
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x6d80ee
jmp 0x6d6f3f
mov esi, 0x17
mov ebx, 4
mov byte [esp + 0x83], 0x79
lea eax, [esp + 0x6a8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.007ad7c0
mov dword [esp + 0xb8], 0x700002bb
cmp eax, 0x10
jne 0x6d7170
cmp esi, 0x10
je 0x6d5fc5
xor eax, eax
test al, al
jne 0x6d5fc5
mov ebx, dword [esp + 0x12c]
mov dword [esp + 0x2bf4], 0x1000
lea eax, [esp + 0x2bf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.00692070
test eax, eax
jne 0x6d6f31
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x6d6f31
mov dword [esp + 0x12c], ebx
mov edi, 8
mov eax, dword [esp + 0x2bf4]
lea ecx, [esp + 0x684]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.007acc60
mov dword [esp + 0xb8], 0x700002bb
test eax, eax
jne 0x6d6f3f
cmp edi, 8
jne 0x6d6386
mov eax, edi
not eax
and eax, 1
add eax, edi
je 0x6d6386
mov byte [esp + 0x73], 0x67
mov byte [esp + 0x72], 0xd
mov eax, dword [esp + 0xa0]
lea eax, [eax + 0x10]
mov dword [esp + 0xd8], eax
mov dword [esp], eax
call fcn.00492770
mov dword [esp + 0xd4], eax
lea ecx, [esp + 0x23c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x23c], eax
test eax, eax
mov edi, 0x70000003
je 0x6d6fbe
mov eax, 6
xor ecx, ecx
test cl, cl
je 0x6d60dd
jmp 0x6d6fbe
mov dword [esp + 0xb8], eax
mov dword [esp + 0x12c], ebx
mov esi, 0x1a
lea eax, [esp + 0x6a8]
mov dword [esp], eax
call fcn.004b0080
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x114], eax
cmp esi, 0xc
je 0x6d6f7c
imul esi, esi
and esi, 3
cmp esi, 2
mov edi, dword [esp + 0x114]
jne 0x6d70fc
xor edi, edi
mov esi, 0x17
add esi, 0xfffffff8
mov ebx, dword [esp + 0xb4]
jmp 0x6d6fae
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
adc edi, 0
mov dword [esp], ebx
mov dword [esp + 4], 0x2b
call fcn.0064bf00
test edi, edi
je 0x6d6f90
mov eax, dword [esp + 0x104]
jmp 0x6d7b54
movzx eax, byte [esp + 0x73]
cmp eax, 0x15
je 0x6d7040
cmp eax, 0x67
jne 0x6d70b3
mov esi, 5
mov byte [esp + 0x73], 0x15
lea eax, [esp + 0x684]
mov dword [esp], eax
call fcn.007ad250
lea eax, [esp + 0x6a8]
mov dword [esp], eax
call fcn.004b0080
mov eax, edi
and eax, 1
inc eax
xor eax, edi
sete al
movzx eax, al
mov dword [esp + 0xcc], 0
cmp edi, eax
mov dword [esp + 0x114], edi
je 0x6d76fb
cmp esi, 4
je 0x6d6386
xor eax, eax
test al, al
mov edi, dword [esp + 0x114]
je 0x6d70fc
jmp 0x6d6386
mov byte [esp + 0x73], 1
lea eax, [esp + 0x684]
mov dword [esp], eax
call fcn.007ad250
lea eax, [esp + 0x6a8]
mov dword [esp], eax
call fcn.004b0080
mov dword [esp + 0xcc], 0
test edi, edi
jne 0x6d70fc
mov eax, 4
mov ecx, edi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x6d70fc
cmp eax, 4
je 0x6d70a7
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov dword [esp + 0x114], edi
jne 0x6d8884
jmp 0x6d76fb
mov dword [esp + 0x114], edi
jmp 0x6d76fb
mov ebx, 0x10
mov byte [esp + 0x73], 0x67
lea eax, [esp + 0x684]
mov dword [esp], eax
call fcn.007ad250
lea eax, [esp + 0x6a8]
mov dword [esp], eax
call fcn.004b0080
mov dword [esp + 0xcc], 0
test edi, edi
je 0x6d7219
mov eax, edi
and eax, 1
inc eax
xor eax, edi
je 0x6d7219
movzx eax, byte [esp + 0xc5]
cmp eax, 0x1d
je 0x6d717e
cmp eax, 0x4b
jne 0x6d71d5
mov esi, 9
lea eax, [esp + 0x23c]
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0x23c]
mov al, 0x29
test ecx, ecx
jne 0x6d723e
mov dword [esp + 0x174], eax
mov byte [esp + 0xc5], 0x1d
mov ebx, 0x13
mov eax, ecx
mov dword [esp + 0x19c], ecx
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x114], edi
mov dword [esp + 0xc0], edi
jae 0x6d725b
cmp ebx, 4
je 0x6d6f3f
jmp 0x6d769e
lea eax, [esp + 0x23c]
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0x23c]
mov al, 0x29
test ecx, ecx
jne 0x6d726d
mov dword [esp + 0x174], eax
mov byte [esp + 0xc5], 0x4b
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x114], edi
mov dword [esp + 0xc0], edi
jne 0x6d769e
jmp 0x6d728a
mov byte [esp + 0xc5], 0x3d
mov al, 0x29
mov dword [esp + 0x174], eax
lea eax, [esp + 0x23c]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x23c]
mov dword [esp + 0x19c], eax
test eax, eax
mov dword [esp + 0x114], edi
mov dword [esp + 0xc0], edi
jne 0x6d728a
jmp 0x6d769e
cmp ebx, 9
jne 0x6d7345
mov eax, ebx
or eax, 2
xor ebx, 2
add ebx, eax
mov dword [esp + 0x114], edi
jne case.0x6d4d69.7
jmp 0x6d76fb
mov dword [esp + 0x174], eax
mov dword [esp + 0x19c], ecx
mov byte [esp + 0xc5], 0x1d
mov dword [esp + 0xc0], edi
cmp esi, 9
mov dword [esp + 0x114], edi
jne 0x6d8709
jmp 0x6d728a
mov dword [esp + 0x174], eax
mov dword [esp + 0x19c], ecx
mov byte [esp + 0xc5], 0x4b
mov dword [esp + 0xc0], edi
mov esi, 0xd
mov ebx, dword [esp + 0x174]
movzx eax, bl
cmp eax, 0x3b
je 0x6d72d4
cmp eax, 0x51
jne 0x6d72e0
mov al, 0x3b
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x19c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0xfc]
mov dword [eax], 0
mov dword [esp + 0x114], edi
jmp 0x6d769e
mov dword [esp + 0x114], edi
jmp 0x6d8139
xor esi, esi
jmp 0x6d7322
mov ebx, 7
add bl, 0x4a
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov eax, dword [esp + 0x19c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0xfc]
mov dword [eax], 0
mov eax, esi
and eax, 1
inc eax
xor eax, esi
test esi, esi
je 0x6d72f0
test eax, eax
je 0x6d72f0
mov dword [esp + 0x174], ebx
mov dword [esp + 0x114], edi
jmp 0x6d769e
mov dword [esp + 0x114], edi
jmp 0x6d76fb
mov byte [esp + 0x82], 0x66
lea eax, [esp + 0x238]
mov dword [esp + 0x58], eax
mov dword [esp + 0x238], edi
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.007ce510
mov dword [esp], 6
call fcn.007b4100
lea ecx, [esp + 0x2f8]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 0
call fcn.007b3ad0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov edi, 0x700002bb
cmp eax, ecx
jne 0x6d6fbe
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
lea esi, [esp + 0x2f8]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], ecx
call fcn.007b3c90
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov edi, 0x700002bb
cmp eax, ecx
jne 0x6d6fbe
mov ebx, 0x10
mov byte [esp + 0x3f], 0x6e
mov dword [esp], esi
call fcn.007b3c60
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d6fbe
cmp ebx, 0x10
jne case.0x6d4d69.7
imul ebx, ebx
and ebx, 3
cmp ebx, 2
jae case.0x6d4d69.7
movzx eax, byte [esp + 0x3f]
cmp eax, 0x6e
jne 0x6d74ac
mov byte [esp + 0x3f], 0x2f
mov dword [esp + 0x230], 0x200
mov dword [esp], 0x200
call fcn.00492770
mov dword [esp + 0x234], eax
mov edi, 0x70000003
test eax, eax
jne 0x6d74e7
jmp 0x6d6fbe
mov byte [esp + 0x3f], 0x6e
mov dword [esp + 0x230], 0x200
mov dword [esp], 0x200
call fcn.00492770
mov dword [esp + 0x234], eax
test eax, eax
jne 0x6d74e7
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov edi, 0x70000003
jne 0x6d6fbe
mov esi, 0xe
mov al, 0x53
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x3bf8], eax
mov dword [esp], 9
call fcn.007af7b0
mov edi, eax
mov dword [esp], 3
call fcn.007ae890
mov ecx, dword [esp + 0x234]
lea edx, [esp + 0x684]
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x6a8]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x3bf8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 0x24], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0x10
call fcn.007b4620
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov edi, 0x700002bb
cmp eax, ecx
jne 0x6d6fbe
cmp esi, 0xe
je 0x6d75b3
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x6d75b3
mov ebx, dword [esp + 0x12c]
jmp 0x6d89a2
mov ebx, dword [esp + 0x48]
movzx ecx, bl
xor eax, eax
cmp ecx, 0x53
jne 0x6d75fe
mov edx, dword [esp + 0x38]
xor edi, edi
jmp 0x6d75e2
mov ebx, 0x85
add bl, 0xf9
inc eax
mov ecx, dword [esp + 0x3bf8]
mov dword [edx], ecx
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6d75d0
mov dword [esp + 0x48], ebx
jmp 0x6d6fbe
mov esi, dword [esp + 0x38]
xor edi, edi
jmp 0x6d7622
mov ebx, 0xc5
add bl, 0x8e
inc eax
mov ecx, dword [esp + 0x3bf8]
mov dword [esi], ecx
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x6d7610
mov dword [esp + 0x48], ebx
jmp 0x6d6fbe
mov al, bl
add al, 0xf
mov dword [esp + 0x174], eax
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x19c]
mov dword [esp], eax
call fcn.004936c0
mov dword [edi], 0
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
jb 0x6d7650
cmp ebx, 0xb
je 0x6d8709
lea eax, [esp + 0x234]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x234]
mov dword [esp + 0x8c], eax
test eax, eax
je 0x6d76e5
mov byte [esp + 0xb3], 0xa
mov eax, 0xd
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xcc], ecx
je 0x6d796c
jmp 0x6d76fb
mov byte [esp + 0xb3], 0xa
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xcc], eax
movzx eax, byte [esp + 0xd2]
cmp eax, 0xf
jne 0x6d773e
mov esi, 0x13
mov byte [esp + 0xd2], 0xf
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x2f4], ecx
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete al
movzx eax, al
cmp ecx, eax
jne 0x6d7598
jmp 0x6d77c3
mov esi, 0xe
mov byte [esp + 0xd2], 0x55
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x2f4], ecx
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
jmp 0x6d7797
mov byte [esp + 0xb3], 0x23
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x90]
mov dword [eax], 0
jmp 0x6d76ed
mov ebx, dword [esp + 0x12c]
jne 0x6d89a2
cmp esi, 0xe
jne 0x6d7842
mov eax, esi
not eax
and eax, 1
add eax, esi
je 0x6d7842
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x24c], 0
lea eax, [esp + 0x230]
mov dword [esp + 0x248], eax
mov edi, dword [esp + 0x2e4]
test edi, edi
je 0x6d7db7
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
je 0x6d7db7
xor ebx, ebx
mov esi, 0xc0
add esi, 0xffffff41
jmp 0x6d782a
mov eax, ebx
and eax, 1
xor eax, ebx
cmp eax, 0xffffffff
setne al
movzx eax, al
add ebx, eax
mov dword [esp], edi
call fcn.00689a80
mov eax, ebx
not eax
and eax, 1
add eax, ebx
setne al
movzx eax, al
cmp ebx, eax
jb 0x6d7810
jmp 0x6d7da0
mov esi, 0xb
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 8
call fcn.007855d0
mov dword [esp + 0x2f4], eax
cmp esi, 0xb
jne 0x6d5fbe
jmp 0x6d89a2
mov eax, dword [esp + 0x22c]
test eax, eax
jne 0x6d78df
mov byte [esp + 0xde], 0x65
mov esi, 0xb
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
je 0x6d78e7
cmp esi, 0xb
je 0x6d7c5d
mov eax, esi
and eax, 1
inc eax
xor eax, esi
jne 0x6d64bf
jmp 0x6d7c5d
mov byte [esp + 0xde], 0x65
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0x104]
mov byte [esp + 0x103], 0xd
mov byte [esp + 0xbe], 0x43
mov edx, dword [esp + 0x228]
mov dword [esp + 0x104], edx
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov dword [esp + 0xe4], 0
cmp edx, ecx
mov dword [esp + 0x10c], eax
je 0x6d7b1f
mov ecx, 1
mov edx, dword [esp + 0xe4]
shl edx, 4
mov esi, dword [eax + edx + 8]
test esi, esi
jne 0x6d799e
mov eax, 0xb
mov edx, 3
sub edx, esi
xor edx, esi
mov dword [esp + 0x98], esi
je 0x6d79a5
cmp eax, 0xb
je 0x6d7995
xor eax, eax
test al, al
jne 0x6d7995
movzx eax, byte [esp + 0xb3]
cmp eax, 0xa
jne 0x6d776e
mov byte [esp + 0xb3], 0xa
jmp 0x6d7776
mov edi, dword [esp + 0x104]
jmp 0x6d7a19
mov dword [esp + 0x98], esi
mov eax, ecx
or eax, 2
mov edx, ecx
xor edx, 2
add edx, eax
setne al
movzx eax, al
cmp ecx, eax
jne 0x6d64bf
xor esi, esi
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0x104]
jmp 0x6d7a03
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add esi, eax
mov dword [esp], edi
call fcn.004936c0
mov ecx, dword [esp + 0x228]
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jb 0x6d79e0
mov edi, ecx
mov al, byte [esp + 0xbe]
movzx eax, al
cmp eax, 0x30
jne 0x6d7a5f
mov eax, dword [esp + 0xe4]
lea ecx, [eax + 1]
cmp ecx, edi
jb 0x6d7c1f
mov byte [esp + 0xbe], 0x43
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
jne 0x6d7a9a
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edi
jmp 0x6d7c35
mov esi, 0x15
mov byte [esp + 0xbe], 0x30
mov eax, 3
mov edx, dword [esp + 0xe4]
sub eax, edx
xor eax, edx
setne al
movzx ecx, al
add ecx, edx
cmp ecx, edi
jb 0x6d7b44
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
je 0x6d7b44
mov dword [esp + 0xa8], ecx
xor ecx, ecx
mov eax, 0x74
xor eax, 0x78
mov esi, dword [esp + 0x10c]
mov ebx, dword [esp + 0x12c]
jmp 0x6d7ad8
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
mov esi, dword [esp + 0x22c]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6d7ac0
mov dword [esp + 0x10c], esi
mov dword [esp + 0x104], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0x12c], ebx
cmp eax, 0xc
mov edi, dword [esp + 0x104]
mov esi, dword [esp + 0xe4]
jne 0x6d82c2
mov al, byte [esp + 0x103]
movzx eax, al
cmp eax, 0x19
je 0x6d7b78
cmp eax, 0x66
jne 0x6d7bf8
mov byte [esp + 0x103], 0x66
jmp 0x6d7c00
mov dword [esp + 0xa8], ecx
mov eax, edi
mov dword [esp + 0xac], edi
cmp esi, 0xf
jne 0x6d7c35
mov dword [esp + 0x104], eax
mov eax, 3
sub eax, esi
xor eax, esi
jne 0x6d835e
jmp 0x6d7c35
mov dword [esp + 0x104], esi
xor esi, esi
mov ebx, 0x63
add ebx, 0xffffffad
jmp 0x6d7bb6
mov cl, bl
add cl, 9
mov byte [esp + 0x103], cl
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call fcn.004936c0
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne cl
movzx ecx, cl
cmp esi, ecx
jb 0x6d7b90
mov ecx, dword [esp + 0x104]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x104], edi
cmp ebx, 0xf
je 0x6d6f3f
imul ebx, ebx
and ebx, 3
cmp ebx, 2
jne 0x6d7c5d
jmp 0x6d6f3f
mov byte [esp + 0x103], 0xd
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x104], edi
mov dword [esp + 0xe4], esi
jmp 0x6d7c5d
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edi
mov byte [esp + 0xbe], 0x43
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xe4], ecx
jmp 0x6d793e
mov byte [esp + 0xc7], 0x74
mov ebx, dword [esp + 0x23c]
test ebx, ebx
mov edi, dword [esp + 0x124]
je 0x6d7d80
mov cl, 0x7b
mov eax, 0xc
movzx ecx, cl
cmp ecx, 0x69
je 0x6d7d15
mov eax, 0xa
cmp ecx, 0x7b
jne 0x6d7d8c
mov edi, dword [esp + 0x108]
cmp eax, 4
je 0x6d8236
mov dword [esp + 0x108], edi
imul eax, eax
and eax, 3
cmp eax, 2
je 0x6d8249
xor esi, esi
mov edi, 0x66
xor edi, 0x61
jmp 0x6d7cde
cmp eax, 2
adc esi, 0
mov dword [esp], ebx
call fcn.004936c0
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb ecx, ecx
and ecx, 1
cmp esi, ecx
jb 0x6d7cd0
mov dword [esp + 0x120], ebx
cmp edi, 7
je 0x6d7e66
mov eax, edi
and eax, 1
inc eax
xor eax, edi
jne 0x6d840f
jmp 0x6d7e66
cmp eax, 0xc
jne 0x6d6a93
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x6d6a93
xor esi, esi
jmp 0x6d7d5a
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov dword [esp], ebx
call fcn.004936c0
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x6d7d40
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], edi
jmp 0x6d7e66
mov dword [esp + 0x120], ebx
jmp 0x6d7e66
mov esi, 2
mov dword [esp], ebx
mov dword [esp + 0x120], ebx
call fcn.004936c0
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
cmp esi, eax
jne 0x6d7e66
mov dword [esp + 0x2e4], 0
lea eax, [esp + 0x2e0]
mov dword [esp + 8], eax
lea eax, [esp + 0x2e4]
mov dword [esp + 4], eax
lea eax, [esp + 0x250]
mov dword [esp], eax
call fcn.00626690
mov dword [esp + 0x2f4], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d7f25
mov esi, 0x1b
lea eax, [esp + 0x2f4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jmp 0x6d7797
mov eax, 0xa
mov cl, byte [esp + 0xc7]
movzx ecx, cl
cmp ecx, 0x22
jne 0x6d7e9a
mov byte [esp + 0xc7], 0x74
mov byte [esp + 0xbf], 0x3a
mov ecx, dword [esp + 0x234]
test ecx, ecx
jne 0x6d7ee4
jmp 0x6d7f93
cmp eax, 0xa
jne 0x6d7f70
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x6d7f70
mov eax, 0xa
mov byte [esp + 0xc7], 0x22
mov byte [esp + 0xbf], 0x3a
mov ecx, dword [esp + 0x234]
test ecx, ecx
je 0x6d7f80
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
je 0x6d7f80
mov esi, 0x14
mov dword [esp], ecx
call fcn.004936c0
mov edi, dword [esp + 0x124]
mov ebx, dword [esp + 0x120]
cmp esi, 0xc
je 0x6d80e0
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], edi
mov eax, esi
and eax, 1
inc eax
xor eax, esi
jne 0x6d7f93
jmp 0x6d80ee
mov al, 0xd
movzx ecx, al
cmp ecx, 0x5c
je 0x6d821f
mov eax, 0xd
cmp ecx, 0x6f
jne 0x6d821f
mov ebx, dword [esp + 0x120]
cmp eax, 0xb
jne 0x6d7f64
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x6d7f64
mov dword [esp + 0x120], ebx
jmp 0x6d8709
mov dword [esp + 0x120], ebx
jmp 0x6d821f
mov dword [esp + 0x2f4], 0x70000003
jmp 0x6d8709
cmp eax, 5
je 0x6d8709
xor eax, eax
test al, al
jne 0x6d8709
movzx eax, byte [esp + 0xbf]
cmp eax, 0x20
je 0x6d7fea
cmp eax, 0x3a
jne 0x6d8030
mov edx, dword [esp + 0x2e4]
test edx, edx
jne 0x6d82ab
mov byte [esp + 0xd3], 4
mov byte [esp + 0xbf], 0x16
mov eax, 0x18
mov ecx, edx
mov dword [esp + 0x9c], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x6d87b9
jmp 0x6d82c2
mov eax, 0x17
mov byte [esp + 0xbf], 0x20
mov edx, dword [esp + 0x2e4]
test edx, edx
jne 0x6d83a7
mov byte [esp + 0xd3], 4
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0x12c]
jne 0x6d82d8
jmp 0x6d7b01
mov ecx, 0x14
mov eax, 0xa
mov byte [esp + 0xbf], 0x3a
mov byte [esp + 0xd3], 4
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x9c], edx
test edx, edx
je 0x6d63f4
cmp eax, 0xa
jne 0x6d8076
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x6d82c2
movzx eax, byte [esp + 0x151]
cmp eax, 7
je 0x6d83c2
cmp eax, 0x40
je 0x6d849d
cmp eax, 0x5e
jne 0x6d53e4
mov byte [esp + 0x151], 0x40
lea eax, [esp + 0x1cc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.00789540
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x6d840f
jmp 0x6d8709
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], edi
mov esi, 7
mov edi, 0xf
lea eax, [esp + 0x2e0]
mov dword [esp + 8], eax
lea eax, [esp + 0x2e4]
mov dword [esp + 4], eax
lea eax, [esp + 0x224]
mov dword [esp], eax
call fcn.00626720
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne case.0x6d4d69.5
cmp esi, 7
je 0x6d6ae1
imul esi, esi
and esi, 3
cmp esi, 2
je 0x6d6ae1
xor esi, esi
mov ebx, 0x7c
add ebx, 0xffffff9e
mov edi, dword [esp + 0xfc]
jmp 0x6d7681
cmp edi, 0xf
je 0x6d821f
xor ebx, ebx
test bl, bl
jne 0x6d821f
mov eax, 0x12
mov ecx, dword [esp + 0x18c]
movzx ecx, cl
cmp ecx, 0x11
je 0x6d8255
cmp ecx, 0x24
je 0x6d5487
mov esi, 5
mov edi, dword [esp + 0x14c]
jmp 0x6d8207
mov dword [esp + 0x18c], 0x11
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add ebx, eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.007898d0
mov dword [esp + 0x2f4], eax
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
sete cl
movzx ecx, cl
or ecx, 4
test eax, eax
cmovne ecx, esi
mov dword [esp + 0x110], ecx
mov eax, ebx
not eax
and eax, 1
add eax, ebx
setne al
movzx eax, al
cmp ebx, eax
jb 0x6d81b0
jmp 0x6d6a2c
mov dword [esp + 0x2f4], 0x700002bb
mov ebx, dword [esp + 0x12c]
jmp 0x6d89a2
mov dword [esp + 0x108], edi
mov edi, dword [esp + 0x124]
jmp 0x6d6886
mov edi, dword [esp + 0x124]
jmp 0x6d6886
cmp eax, 0xc
jne 0x6d8269
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x6d6386
mov al, 0x4e
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.007898d0
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jmp 0x6d54b3
mov byte [esp + 0xd3], 4
mov dword [esp + 0x9c], edx
mov byte [esp + 0xbf], 0x16
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call fcn.00689a80
mov ebx, dword [esp + 0x12c]
movzx eax, byte [esp + 0xd3]
cmp eax, 0x2f
jne 0x6d831e
mov dword [esp + 0x12c], ebx
mov byte [esp + 0xd3], 0x2f
mov edx, dword [esp + 0x1cc]
test edx, edx
je 0x6d8357
mov ecx, 0x18
mov eax, edx
mov dword [esp + 0xb4], edx
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x6d6c9f
jmp 0x6d835e
mov dword [esp + 0x12c], ebx
mov esi, 0xc
mov byte [esp + 0xd3], 4
mov edx, dword [esp + 0x1cc]
test edx, edx
jne 0x6d839b
mov eax, edx
or eax, 2
mov ecx, edx
mov dword [esp + 0xb4], edx
xor ecx, 2
add ecx, eax
jne 0x6d835e
jmp 0x6d6f61
mov dword [esp + 0xb4], edx
mov eax, 3
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 0xc8], ecx
mov edi, dword [esp + 0x124]
mov ebx, dword [esp + 0x120]
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], edi
cmp eax, 3
jne 0x6d4cf3
jmp 0x6d88a3
mov dword [esp + 0xb4], edx
jmp 0x6d6f61
mov byte [esp + 0xd3], 4
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0x12c]
jmp 0x6d7b01
mov esi, 0x15
mov byte [esp + 0x151], 0x5e
lea eax, [esp + 0x1cc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.00789540
mov dword [esp + 0x2f4], eax
test eax, eax
jne 0x6d852f
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov edi, dword [esp + 0x114]
je 0x6d725b
mov ebx, dword [esp + 0x158]
movzx ecx, bl
xor eax, eax
cmp ecx, 0x62
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x148]
je 0x6d5467
jmp 0x6d847d
mov ebx, 0xea
xor bl, 0x88
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, dword [esp + 0x1cc]
mov edx, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [ecx]
mov dword [esp + 0x1dc], edx
mov edx, dword [ecx + 0xc]
mov dword [esi], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x1e4], ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jb 0x6d8440
mov dword [esp + 0x158], ebx
jmp case.0x6d4d69.7
mov edi, 8
mov esi, 2
mov byte [esp + 0x151], 7
lea eax, [esp + 0x1cc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.00789540
mov dword [esp + 0x2f4], eax
test eax, eax
je 0x6d7cf9
cmp esi, 2
je 0x6d8709
imul esi, esi
and esi, 3
cmp esi, 3
je 0x6d8709
mov eax, dword [esp + 0x15c]
movzx eax, al
cmp eax, 0x19
jne 0x6d8521
mov al, 0x19
mov dword [esp + 0x15c], eax
movsd xmm0, qword [esp + 0x1c0]
mov eax, dword [esp + 0x134]
movsd qword [eax], xmm0
jmp case.0x6d4d69.7
xor eax, eax
mov esi, dword [esp + 0x134]
jmp 0x6d52f7
mov edi, dword [esp + 0x114]
jmp 0x6d725b
mov dl, al
xor dl, 0x5c
mov byte [esp + 0xc6], dl
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
add ecx, edx
mov dword [esp + 0x2f4], 0x30000003
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x6d8540
mov dword [esp + 0x12c], ebx
cmp eax, 0xe
jne 0x6d8709
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x6d8709
mov al, 0x42
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xd8]
mov edi, ecx
and edi, 0xfffffff0
mov eax, edi
sub eax, dword [esp + 0xa0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.007ce3c0
mov al, byte [esp + 0x82]
movzx eax, al
cmp eax, 0x1b
jne 0x6d7351
mov esi, 0x1a
mov byte [esp + 0x82], 0x1b
lea eax, [esp + 0x238]
mov dword [esp + 0x58], eax
mov dword [esp + 0x238], edi
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.007ce510
mov dword [esp], 6
call fcn.007b4100
lea ecx, [esp + 0x2f8]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], 0
call fcn.007b3ad0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov edi, 0x700002bb
cmp eax, ecx
jne 0x6d6fbe
cmp esi, 0xf
je 0x6d64bf
imul esi, esi
and esi, 3
cmp esi, 2
jne 0x6d73e9
jmp 0x6d64bf
mov al, byte [esp + 0xc6]
movzx eax, al
cmp eax, 4
je 0x6d86d8
cmp eax, 0x21
je 0x6d86e7
cmp eax, 0x4c
jne 0x6d88b2
mov dword [esp + 0x12c], ebx
mov byte [esp + 0xc6], 0x21
mov dword [esp + 0x2f4], 0x30000003
jmp 0x6d8709
xor ecx, ecx
mov eax, 0x87
add eax, 0xffffff89
jmp 0x6d856b
mov dword [esp + 0x12c], ebx
mov eax, 0x12
mov byte [esp + 0xc6], 4
mov dword [esp + 0x2f4], 0x30000003
cmp eax, 0xf
mov eax, 3
mov cl, byte [esp + 0xdf]
movzx ecx, cl
cmp ecx, 0x27
mov edx, dword [ebp + 8]
je 0x6d876a
cmp ecx, 0x6b
jne 0x6d87ac
mov edi, 6
mov byte [esp + 0xdf], 0x27
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x12c]
mov dword [esp + 0xf0], edx
cmp edi, 6
jne 0x6d6e40
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
jne 0x6d89a2
jmp 0x6d6e40
cmp eax, 2
mov ebx, dword [esp + 0x12c]
je 0x6d87dd
imul eax, eax
and eax, 3
cmp eax, 2
je 0x6d87dd
mov eax, 0xd
mov byte [esp + 0xdf], 0x6b
cmp eax, 0xd
jne 0x6d869f
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x6d89a2
jmp 0x6d869f
mov eax, 0xa
mov byte [esp + 0xdf], 0x48
cmp eax, 0xa
jne 0x6d8850
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov ebx, dword [esp + 0x12c]
jne 0x6d89a2
jmp 0x6d82d8
mov byte [esp + 0x153], 0x13
mov dword [esp + 0x1ac], 0
mov eax, dword [esp + 0x118]
lea eax, [eax + eax*2]
mov ebx, dword [esp + 0x11c]
mov esi, dword [ebx + eax*8 + 4]
lea eax, [esp + 0x1ac]
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov dword [esp], edx
mov dword [esp + 8], 0
call fcn.00788af0
mov dword [esp + 0x2f4], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x6d885c
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x114]
jmp 0x6d5fd5
mov ebx, dword [esp + 0x12c]
jmp 0x6d82d8
mov dword [esp + 0x6c], esi
mov eax, 8
mov ebx, 4
mov dword [esp + 0x12c], ebx
cmp eax, 8
mov edi, dword [esp + 0x114]
mov dword [esp + 0x110], eax
jne 0x6d88a3
xor ecx, ecx
mov eax, 0x94
xor eax, 0x80
mov esi, dword [esp + 0x110]
mov ebx, dword [esp + 0x12c]
jmp 0x6d6366
mov eax, dword [esp + 0xc8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x12c], ebx
mov ebx, 0xb
mov byte [esp + 0xc6], 0x30
mov dword [esp + 0x2f4], 0x30000003
jmp 0x6d7695
mov eax, dword [edi]
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + edx*8 + 0x14]
mov eax, dword [eax + edx*8 + 0x10]
add eax, 0xffffffe8
shr eax, 2
mov edx, 0x24924925
mul edx
mov esi, dword [ecx + 0x14]
cmp esi, edx
mov byte [esp + 0x16f], 4
ja 0x6d5506
mov eax, 4
add ecx, 0x18
mov dword [esp + 0x1bc], ecx
imul edx, esi, 0x1c
mov dword [esp + 0x94], edx
mov dword [esp + 0x1b8], edx
mov ecx, edx
or ecx, 1
sete cl
movzx ecx, cl
mov dword [esp + 0xa4], 0xfffb
cmp edx, ecx
jne 0x6d6386
cmp eax, 4
mov ebx, dword [esp + 0x120]
je 0x6d8a2a
xor eax, eax
test al, al
jne 0x6d8a2a
mov byte [esp + 0x161], 0x10
mov eax, dword [esp + 0x118]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x11c]
mov ecx, dword [esi + eax*8 + 0x10]
mov edx, dword [esi + eax*8 + 0x14]
mov eax, dword [esi + eax*8 + 4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0068ee80
mov dword [esp + 0x2f4], eax
test eax, eax
mov ebx, dword [esp + 0x12c]
je 0x6d89f8
mov ecx, 0xa
mov al, byte [esp + 0xde]
movzx eax, al
cmp eax, 9
jne 0x6d89e3
mov dword [esp + 0x12c], ebx
mov eax, dword [esp + 0x22c]
test eax, eax
je 0x6d8a36
mov byte [esp + 0xde], 9
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x6d78e7
jmp 0x6d7c5d
mov dword [esp + 0x12c], ebx
cmp ecx, 0xa
je 0x6d789d
jmp 0x6d595a
mov dword [esp + 0x12c], ebx
movzx eax, byte [esp + 0x16f]
cmp eax, 0x4b
mov edi, dword [esp + 0x108]
mov ebx, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
je 0x6d88d6
jmp 0x6d54c8
mov edi, dword [esp + 0x108]
jmp 0x6d5506
mov byte [esp + 0xde], 9
jmp 0x6d7c5d