Function at 0x6717921b
Capabilities:
Encode data using base64
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xb0
mov ecx, dword [esp + 0xc0]
xor edx, edx
push ebx
and dword [esp + 0x84], 0
inc edx
push ebp
mov ebp, dword [ecx + 0x7c]
push esi
mov esi, dword [esp + 0xc4]
push edi
xor edi, edi
mov dword [esp + 0x10], ebp
mov eax, edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 0x80]
mov dword [esp + 0x88], eax
mov eax, dword [ecx]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x80], edi
mov ebx, dword [eax + 0x24]
mov eax, esi
shr eax, 0x13
and eax, edx
mov dword [esp + 0x78], ebx
mov edx, esi
mov dword [esp + 0x18], edi
shr edx, 2
and edx, 1
mov dword [esp + 0x68], edi
and ebx, 8
mov dword [esp + 0x60], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x1c], edi
mov edi, dword [ecx + 0x20]
push 4
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x18], edi
pop ebx
je 0x671792cf
mov dword [ebp], 0x80090000
jmp 0x671792dc
test byte [esp + 0x78], bl
je 0x671792eb
mov dword [ebp], 0x80180005
add ebp, ebx
mov dword [ebp], 0x801a0000
add ebp, ebx
mov dword [esp + 0x10], ebp
test esi, 0x2000000
je 0x671793b4
mov esi, dword [esp + 0xc4]
cmp esi, edi
jae 0x6717937f
cmp ebp, dword [esp + 0x88]
jae 0x6717bc69
movzx edi, word [esi]
mov ecx, esi
lea esi, [ecx + 2]
test eax, eax
je 0x67179345
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67179345
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
test edx, edx
je 0x67179369
push dword [esp + 0xd0]
lea eax, [esp + 0x60]
push ebp
push edx
push eax
push ecx
call fcn.671791b1
mov edx, dword [esp + 0x88]
add esp, 0x14
mov ebp, eax
mov eax, dword [esp + 0x44]
mov dword [ebp], edi
add ebp, ebx
cmp esi, dword [esp + 0x14]
jb 0x67179302
mov ecx, dword [esp + 0xd0]
push ecx
push ebp
push dword [esp + 0x7c]
lea eax, [esp + 0x68]
push eax
push esi
call fcn.671791b1
add esp, 0x14
cmp dword [esp + 0xbc], 0
je 0x6717bc4a
mov dword [eax], 0x80190000
add eax, ebx
mov dword [eax], 0x80160000
jmp 0x6717bc5e
mov ecx, dword [ecx + 0x28]
xor edx, edx
add ecx, ecx
mov dword [esp + 0x4c], 0xc
mov eax, ecx
and dword [esp + 0x34], 0
div dword [esp + 0x4c]
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x98], 0x3a
mov dword [esp + 0xac], 0x27
mov dword [esp + 0xa0], 0x39
mov eax, dword [eax + 0x14]
sub eax, edx
mov dword [esp + 0x94], 0x30
add eax, ecx
mov dword [esp + 0xb4], 0x2e
mov dword [esp + 0x84], eax
mov edx, esi
mov eax, esi
or edx, 0x80
and eax, 0x1000000
cmove edx, esi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x18]
jmp 0x67179452
mov ebp, dword [esp + 0x10]
push 4
pop ebx
jmp 0x67179452
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0xd0]
movzx eax, ax
mov dword [esp + 0x9c], eax
cmp esi, edi
jae 0x6717bc35
cmp ebp, dword [esp + 0x88]
jae 0x6717bc69
mov ebx, dword [ecx]
mov ebp, dword [esp + 0x18]
movzx eax, bp
mov dword [esp + 0x28], ebx
cmp eax, dword [ebx + 0x20]
ja 0x6717bc2e
cmp dword [esp + 0x44], 0
mov ecx, esi
movzx eax, word [esi]
mov dword [esp + 0x3c], ecx
mov ebp, eax
mov dword [esp + 0x2c], eax
lea esi, [ecx + 2]
mov dword [esp + 0x30], eax
mov dword [esp + 0xc4], esi
mov edi, esi
mov edx, esi
je 0x6717950c
and eax, 0xfc00
cmp eax, 0xd800
jne 0x67179508
mov edx, dword [esp + 0x2c]
mov ebp, 0x3ff
movzx eax, word [esi]
and edx, ebp
and eax, ebp
shl edx, 0xa
or eax, edx
add eax, 0x10000
add esi, 2
mov dword [esp + 0x2c], eax
mov ebp, eax
mov dword [esp + 0x30], eax
mov edi, esi
mov dword [esp + 0xc4], esi
mov edx, esi
jmp 0x6717950c
mov ebp, dword [esp + 0x10]
mov ecx, edi
jmp 0x671795af
mov edi, edx
jmp 0x67179452
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x54], 0
je 0x671795bc
cmp ebp, 0x5c
jne 0x67179534
cmp edi, dword [esp + 0x14]
jae 0x67179534
push 0x45
pop edx
cmp word [esi], dx
jne 0x67179534
and dword [esp + 0x54], 0
jmp 0x67179779
cmp dword [esp + 0x60], 0
jg 0x671799fc
cmp dword [esp + 0x6c], 0
je 0x6717954f
mov ebp, dword [esp + 0x10]
mov dword [ebp], eax
jmp 0x6717959a
mov edx, dword [esp + 0x68]
mov eax, edx
dec edx
mov dword [esp + 0x68], edx
test eax, eax
jg 0x67179588
push dword [esp + 0xd0]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x60]
push edx
push dword [esp + 0x7c]
push eax
push ecx
call fcn.671791b1
mov edx, dword [esp + 0x70]
add esp, 0x14
mov ebp, eax
mov dword [esp + 0x70], edx
jmp 0x6717958c
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [ebp], eax
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
and dword [esp + 0x58], 0
push 4
pop ebx
add ebp, ebx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0xd0]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x67179459
cmp dword [esp + 0x6c], 0
je 0x6717974d
mov eax, dword [esp + 0x24]
mov ecx, 0x400080
and eax, ecx
cmp eax, ecx
jne 0x67179637
mov eax, 0xff
mov ecx, edx
cmp ebp, eax
jbe 0x671795f8
xor ecx, ecx
mov eax, ebp
inc ecx
or eax, ecx
mov ecx, edx
cmp eax, 0x200f
je 0x671795f8
cmp eax, 0x2029
jne 0x67179637
mov edx, ecx
cmp ebp, 0x100
jae 0x6717974d
cmp ebp, 0x23
je 0x6717974d
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
mov ebx, dword [esp + 0x28]
jne 0x6717974d
cmp ebp, 0x85
je 0x6717974d
push 0x29
pop eax
cmp ebp, eax
je 0x671796e4
cmp ebp, 0x5c
je 0x67179657
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x10]
mov dword [ebp], eax
jmp 0x6717959f
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
test edx, 0x400000
je 0x671796a8
push dword [esp + 0xd0]
lea eax, [esp + 0x24]
push 0
push dword [ebx + 0x24]
push edx
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xdc]
push edi
push eax
call fcn.67173d5f
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov esi, dword [esp + 0xc4]
test ecx, ecx
jne 0x6717a58a
mov ecx, dword [esp + 0x30]
jmp 0x671796ae
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov ebp, dword [esp + 0x10]
push 4
pop ebx
sub eax, 0
je 0x671796d6
sub eax, 0x19
je 0x67179437
sub eax, 1
jne 0x6717babb
inc eax
mov dword [esp + 0x54], eax
jmp 0x671798f9
mov dword [ebp], ecx
add ebp, ebx
mov dword [esp + 0x10], ebp
jmp 0x67179900
and dword [esp + 0x6c], 0
mov eax, esi
sub eax, dword [esp + 0x90]
sar eax, 1
dec eax
cmp eax, 0xffff
jg 0x6717bac5
mov ebp, dword [esp + 0x10]
mov eax, ebp
mov edx, dword [esp + 0x8c]
sub eax, edx
mov ecx, dword [esp + 0xd0]
mov edi, dword [esp + 0x14]
sar eax, 2
dec eax
mov dword [edx], eax
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x18]
push 4
pop ebx
test edx, edx
je 0x67179459
mov dword [ebp], edx
add ebp, ebx
xor eax, eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x80], eax
jmp 0x671795b3
mov ecx, edx
cmp ebp, 0x5c
jne 0x67179781
cmp edi, dword [esp + 0x14]
jae 0x67179781
movzx eax, word [esi]
push 0x51
pop ebx
cmp ax, bx
je 0x6717976d
push 0x45
pop edx
cmp ax, dx
jne 0x67179781
xor edx, edx
cmp ax, bx
sete dl
mov dword [esp + 0x54], edx
lea esi, [edi + 2]
jmp 0x671798aa
test byte [esp + 0x24], 0x80
je 0x671798b3
mov edi, dword [esp + 0xd0]
cmp ebp, 0x100
jae 0x671797b1
mov eax, dword [edi + 0x10]
xor ebx, ebx
mov edx, dword [esp + 0x2c]
inc ebx
push 4
test byte [edx + eax], bl
pop ebx
jne 0x671794f6
push 4
pop ebx
cmp ebp, 0x85
je 0x67179446
xor edx, edx
mov eax, ebp
inc edx
or eax, edx
cmp eax, 0x200f
je 0x67179446
cmp eax, 0x2029
je 0x67179446
push 0x23
pop edx
cmp ebp, edx
jne 0x671798b6
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp esi, edx
jae 0x67179501
mov eax, dword [edi + 0x90]
mov ecx, dword [edi + 0x20]
test eax, eax
je 0x67179830
cmp esi, ecx
jae 0x67179863
push dword [esp + 0x44]
add edi, 0x94
push edi
push ecx
push eax
push esi
call fcn.671a0fec
add esp, 0x14
test eax, eax
jne 0x671798a5
mov edi, dword [esp + 0xd0]
jmp 0x6717985f
mov edx, dword [edi + 0x94]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x6717985f
mov ax, word [esi]
cmp ax, word [edi + 0xa0]
jne 0x6717985f
xor eax, eax
inc eax
cmp edx, eax
je 0x671798a7
mov ax, word [esi + 2]
cmp ax, word [edi + 0xa2]
je 0x671798a7
mov edx, dword [esp + 0x14]
add esi, 2
cmp dword [esp + 0x44], 0
mov ecx, esi
je 0x6717988d
cmp esi, edx
jae 0x6717988d
mov ax, word [esi]
mov ebx, 0xfc00
and ax, bx
mov ebx, 0xdc00
cmp ax, bx
jne 0x6717988d
add esi, 2
mov ecx, esi
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push 4
pop ebx
cmp ecx, edx
jb 0x671797fc
jmp 0x6717944e
mov edx, dword [edi]
lea esi, [esi + edx*2]
mov ebp, dword [esp + 0x10]
jmp 0x67179aa6
push 0x23
pop edx
cmp ebp, 0x28
jne 0x6717990c
mov edi, dword [esp + 0x14]
mov ebx, ecx
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x6717994c
push 0x3f
pop eax
cmp word [esi], ax
jne 0x6717994c
cmp word [esi + 2], dx
jne 0x6717994c
push 0x29
pop eax
add esi, 2
cmp esi, edi
jae 0x6717bad2
cmp word [esi], ax
jne 0x671798de
cmp esi, edi
jae 0x6717bad2
add esi, 2
mov ebp, dword [esp + 0x10]
push 4
pop ebx
mov ecx, dword [esp + 0xd0]
jmp 0x671795b3
push 0x2a
pop eax
mov edi, ecx
cmp ebp, eax
je 0x6717998d
cmp ebp, 0x2b
je 0x6717998d
push 0x3f
pop eax
cmp ebp, eax
je 0x6717998d
push 0x7b
pop eax
mov ebx, ecx
cmp ebp, eax
jne 0x6717994c
lea eax, [esp + 0x20]
mov dword [esp + 0x64], esi
push eax
push 0
push 0
push dword [esp + 0x20]
lea eax, [esp + 0x74]
push eax
call fcn.6717cf26
add esp, 0x14
test eax, eax
jne 0x6717998d
mov ecx, dword [esp + 0x68]
mov edi, ebx
mov ebx, dword [esp + 0xd0]
mov eax, ecx
dec ecx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x67179994
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x5c]
push ebx
push edx
push dword [esp + 0x7c]
push eax
push dword [esp + 0x4c]
call fcn.671791b1
mov edx, dword [esp + 0x70]
add esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0x70], edx
jmp 0x67179994
mov ebx, dword [esp + 0xd0]
cmp dword [esp + 0x60], 0
jle 0x67179a47
mov ecx, edi
cmp ebp, 0x28
jne 0x6717bad9
mov eax, dword [esp + 0x14]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl 0x6717bad9
movzx eax, word [esi]
mov edx, edi
push 0x3f
pop ecx
cmp ax, cx
je 0x671799d7
push 0x2a
mov ecx, edi
pop edi
cmp ax, di
jne 0x6717bad9
push 0x2a
pop ecx
cmp ax, cx
mov edi, edx
movzx eax, word [esi + 2]
jne 0x67179a09
mov ecx, 0xff
cmp ax, cx
ja 0x671799fa
mov ecx, eax
mov eax, dword [ebx + 0x10]
test byte [ecx + eax], 4
jne 0x67179a47
mov edi, edx
lea esi, [edi - 2]
mov ecx, 0x80
jmp 0x6717a58a
push 0x21
pop ebx
sub eax, ebx
je 0x67179a47
sub eax, 0x1b
je 0x67179a2b
sub eax, 1
je 0x67179a47
sub eax, 6
jne 0x671799fc
push 2
pop ecx
cmp dword [esp + 0x60], ecx
sete al
jmp 0x67179a43
movzx eax, word [esi + 4]
mov ecx, edi
push 0x3d
pop edx
cmp ax, dx
je 0x67179a3e
cmp ax, bx
jne 0x671799fc
xor eax, eax
mov edi, ecx
inc eax
test eax, eax
je 0x671799fc
mov eax, dword [esp + 0x58]
mov edx, eax
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x1c]
and dword [esp + 0x60], 0
and dword [esp + 0x1c], 0
and dword [esp + 0x58], 0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x3c], ebp
test eax, eax
je 0x67179aae
cmp ecx, 0x3f
je 0x67179a7a
cmp ecx, 0x2b
jne 0x67179aae
mov ebp, dword [esp + 0x10]
mov ecx, 0x10000
push 0x3f
pop ebx
cmp dword [esp + 0x2c], ebx
mov ebx, 0x20000
push 0xfffffffffffffffc
cmove ecx, ebx
add ecx, eax
cmp edx, 0x803d0000
pop eax
push 0xfffffffffffffff4
pop edi
cmove eax, edi
mov dword [eax + ebp], ecx
push 4
pop ebx
jmp 0x671795a8
push 0x3f
pop eax
cmp ecx, eax
ja 0x6717ad54
je 0x6717ad43
mov eax, ecx
sub eax, 0x24
je 0x6717ad33
push 4
pop edx
sub eax, edx
je 0x67179bce
sub eax, 1
je 0x67179b18
sub eax, 1
je 0x67179b07
sub eax, 1
je 0x67179afd
sub eax, 3
jne 0x6717b2ff
mov ebp, dword [esp + 0x10]
mov dword [ebp], 0x80170000
jmp 0x6717b306
mov dword [esp + 0x58], 0x80370000
jmp 0x67179b0f
mov dword [esp + 0x58], 0x80340000
mov edi, dword [esp + 0x14]
jmp 0x6717ae3a
mov ebp, dword [esp + 0x34]
xor ebx, ebx
mov eax, dword [esp + 0x18]
inc ebx
mov dword [esp + 0x1c], ebx
test ebp, ebp
je 0x67179ba3
cmp word [ebp], ax
jne 0x67179ba3
mov eax, dword [esp + 0x24]
movzx ecx, word [ebp + 6]
and eax, 0xfefbdb17
or eax, dword [ebp + 8]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x24], eax
mov eax, ecx
test bl, cl
je 0x67179b62
movzx edx, word [ebp + 4]
cmp edx, dword [edi + 0x74]
jbe 0x67179b62
mov dword [edi + 0x74], edx
movzx eax, word [ebp + 6]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, ebx
push 4
pop ebx
mov dword [esp + 0x1c], ecx
test bl, al
je 0x67179b85
mov eax, dword [esp + 0x10]
mov dword [eax], 0x80190000
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
cmp ebp, dword [edi + 0x14]
jne 0x67179b95
and dword [esp + 0x34], 0
jmp 0x67179ba6
sub ebp, dword [esp + 0x4c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x1c], ecx
jmp 0x67179ba6
push 4
pop ebx
test ax, ax
je 0x6717bae0
mov ebp, dword [esp + 0x10]
add eax, 0xffff
mov dword [esp + 0x18], eax
mov dword [ebp], 0x80190000
add ebp, ebx
mov dword [esp + 0x10], ebp
jmp 0x6717ad23
mov edi, dword [esp + 0x14]
cmp esi, edi
jae 0x6717a587
movzx eax, word [esi]
push 0x3f
pop ebx
cmp ax, bx
je 0x67179fcc
push 0x2a
pop ecx
cmp ax, cx
je 0x67179c3c
inc dword [esp + 0x18]
test dword [esp + 0x24], 0x2000
jne 0x67179c25
mov edi, dword [esp + 0xd0]
mov ecx, dword [edi + 0x74]
cmp ecx, 0xffff
jae 0x6717bba0
inc ecx
mov dword [edi + 0x74], ecx
or ecx, 0x80080000
mov edi, dword [esp + 0x14]
jmp 0x67179c2a
mov ecx, 0x801a0000
mov edx, dword [esp + 0x10]
lea ebp, [edx + 4]
mov dword [edx], ecx
mov dword [esp + 0x10], ebp
jmp 0x671798fd
mov eax, edi
sub eax, esi
push 2
and eax, 0xfffffffe
pop ecx
cmp eax, ecx
mov eax, dword [esp + 0x18]
jle 0x6717943d
movzx ecx, word [esi + 2]
push 0x29
pop ebp
cmp ecx, ebp
je 0x6717943d
mov ebx, dword [esp + 0xd0]
mov eax, 0xff
cmp ecx, eax
ja 0x67179e60
mov eax, dword [ebx + 0x10]
test byte [ecx + eax], dl
je 0x67179e60
push ebx
lea eax, [esp + 0x24]
mov dword [esp + 0x2c], 0x6738d468
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x50]
push eax
push 0
push dword [esp + 0x5c]
lea eax, [esp + 0xe0]
push edi
push eax
call fcn.6717cc43
add esp, 0x24
test eax, eax
je 0x6717bb23
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x2c], esi
cmp esi, edi
jae 0x6717bb0f
push 0x3a
pop eax
cmp word [esi], ax
jne 0x6717bb0f
mov ebp, dword [esp + 0x48]
xor edi, edi
mov esi, dword [esp + 0x28]
xor ebx, ebx
mov dword [esp + 0x38], edi
cmp ebp, dword [edi*8 + 0x6738d540]
jne 0x67179d07
push ebp
push esi
push dword [esp + 0x58]
call fcn.6719fc92
add esp, 0xc
test eax, eax
je 0x67179d1b
inc esi
add esi, dword [edi*8 + 0x6738d540]
inc edi
mov dword [esp + 0x38], edi
mov ebx, edi
cmp edi, 0x11
jl 0x67179cec
mov esi, dword [esp + 0x2c]
cmp ebx, 0x11
jge 0x6717bb0f
mov ebp, dword [esp + 0x3c]
mov edx, dword [edi*8 + 0x6738d544]
test ebp, ebp
jle 0x67179d48
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x6717bae7
mov eax, 0x80250000
cmp edx, eax
ja 0x67179d92
je 0x67179e56
cmp edx, 0x80020000
je 0x6717ac86
cmp edx, 0x80220000
je 0x67179dc3
cmp edx, 0x80230000
je 0x6717acb1
cmp edx, 0x80240000
jne 0x6717bb05
mov eax, dword [esp + 0x10]
mov dword [eax], 0x80240000
jmp 0x6717acbb
cmp edx, 0x80260000
je 0x67179e56
mov ecx, 0x80270000
cmp edx, ecx
je 0x67179e4b
cmp edx, 0x80280000
je 0x67179e56
cmp edx, 0x8fff0000
jne 0x6717bb05
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 4
pop ebx
push 2
mov dword [ebp], 0x80220000
add ebp, ebx
pop ecx
inc eax
mov dword [esp + 0x10], ebp
add esi, ecx
mov dword [esp + 0x18], eax
cmp edx, 0x8fff0000
jne 0x67179452
mov edx, dword [esp + 0x34]
mov dword [ebp], 0x80020000
add ebp, ebx
mov dword [esp + 0x10], ebp
test edx, edx
jne 0x67179e1e
mov eax, dword [esp + 0xd0]
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], edx
jmp 0x67179e33
add edx, dword [esp + 0x4c]
mov dword [esp + 0x34], edx
cmp edx, dword [esp + 0x84]
jae 0x6717bbd4
mov word [edx], ax
mov eax, dword [esp + 0x24]
and eax, 0x10424e8
mov word [edx + 6], bx
mov dword [edx + 8], eax
jmp 0x67179900
mov eax, dword [esp + 0x10]
mov dword [eax], ecx
jmp 0x6717acbb
push 2
pop ebx
sub esi, ebx
jmp 0x6717a45e
push ebx
lea eax, [esp + 0x24]
mov dword [esp + 0x80], 0x6738d3a0
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x50]
push eax
push 0
push dword [esp + 0x5c]
lea eax, [esp + 0xe0]
push edi
push eax
call fcn.6717cc43
add esp, 0x24
test eax, eax
je 0x6717bb23
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x2c], esi
cmp esi, edi
jae 0x6717bc40
movzx eax, word [esi]
push 0x3a
pop ecx
cmp ax, cx
je 0x67179ec6
cmp ax, bp
jne 0x6717bc40
mov ebp, dword [esp + 0x48]
xor ecx, ecx
mov esi, dword [esp + 0x7c]
xor edi, edi
mov dword [esp + 0x30], ecx
mov ebx, 0x6738d3d0
mov dword [esp + 0x38], ecx
cmp ebp, dword [ebx]
jne 0x67179ef9
push ebp
push esi
push dword [esp + 0x58]
call fcn.6719fc92
mov ecx, dword [esp + 0x3c]
add esp, 0xc
test eax, eax
je 0x67179f10
inc esi
add esi, dword [ebx]
inc ecx
add ebx, dword [esp + 0x4c]
mov edi, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], ecx
cmp ecx, 9
jl 0x67179edf
mov esi, dword [esp + 0x2c]
cmp edi, 9
jge 0x6717bc40
push 0x3a
pop ebp
cmp word [esi], bp
jne 0x67179f37
lea eax, [esi + 2]
cmp eax, dword [esp + 0x14]
jae 0x67179f37
push 0x29
pop edx
cmp word [eax], dx
cmove esi, eax
imul ecx, ecx, 0xc
mov edx, dword [ecx + 0x6738d3d8]
test edx, edx
jle 0x67179f4d
cmp word [esi], bp
jne 0x6717bb19
mov ecx, dword [ecx + 0x6738d3d4]
xor eax, eax
mov ebx, dword [esp + 0x10]
cmp ecx, 0x802a0000
mov dword [esp + 0x7c], ebx
sete al
mov dword [esp + 0x1c], eax
movzx eax, word [esi]
lea edi, [ebx + 4]
add esi, 2
cmp ax, bp
jne 0x67179fbf
test edx, edx
jns 0x67179f8a
mov dword [esp + 0x80], ecx
mov eax, 0x80290000
jmp 0x67179f9c
xor eax, eax
mov edx, 0x10000
cmp ecx, 0x80290000
cmovne eax, edx
add eax, ecx
mov dword [ebx], eax
lea ebp, [edi + 4]
xor eax, eax
mov dword [esp + 0x8c], edi
inc eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x90], esi
mov dword [esp + 0x6c], eax
jmp 0x67179aa6
mov ebp, edi
mov dword [ebx], ecx
mov dword [esp + 0x10], ebp
jmp 0x67179aa6
add esi, 2
mov dword [esp + 0xc4], esi
cmp esi, edi
jae 0x6717a587
movzx ecx, word [esi]
mov eax, ecx
cmp eax, 0x3c
ja 0x6717a493
je 0x6717a424
cmp eax, 0x21
je 0x67179d83
push 0x26
pop ebp
cmp eax, ebp
je 0x6717aa40
push 0x27
pop ebp
cmp eax, ebp
je 0x6717a41d
cmp eax, 0x28
je 0x6717a064
cmp eax, 0x2b
je 0x6717a037
cmp eax, 0x2f
jbe 0x6717a4e0
push 0x39
pop ebx
cmp eax, ebx
jbe 0x6717a51a
push 2
pop edx
jmp 0x6717a4e6
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, edx
jl 0x6717a05a
movzx eax, word [esi + 2]
push 0x30
pop edx
cmp ax, dx
jb 0x6717a05a
push 0x39
pop ebx
cmp ax, bx
jbe 0x6717a51a
mov ecx, 0x81
jmp 0x6717a58a
add esi, 2
mov dword [esp + 0xc4], esi
cmp esi, edi
jae 0x6717a587
movzx eax, word [esi]
inc dword [esp + 0x18]
cmp ax, bx
je 0x6717a3fa
push 0x2a
pop ecx
cmp ax, cx
je 0x6717a3fa
mov edi, dword [esp + 0xd0]
lea eax, [esp + 0x20]
mov ebp, dword [esp + 0x14]
push eax
lea eax, [esp + 0x3c]
push eax
push 0xa1
push 0xffff
push dword [edi + 0x74]
lea eax, [esp + 0xd8]
push ebp
push eax
call fcn.6717ce3b
add esp, 0x1c
test eax, eax
je 0x6717a109
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xc4]
test ecx, ecx
jle 0x6717bb33
mov ebp, dword [esp + 0x10]
mov eax, esi
push 4
pop ebx
push 2
mov dword [ebp], 0x80120000
add ebp, ebx
sub eax, dword [edi + 0x1c]
sar eax, 1
pop edx
sub eax, edx
mov dword [ebp], eax
add ebp, ebx
mov dword [esp + 0x40], eax
mov dword [ebp], ecx
jmp 0x6717a3db
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x6717bb8d
mov edi, dword [esp + 0xc4]
mov ebx, ebp
sub ebx, edi
sar ebx, 1
cmp ebx, 0xa
jl 0x6717a26f
push 7
push str.VERSION
push edi
call fcn.6719fc92
add esp, 0xc
test eax, eax
jne 0x6717a26f
push 0x29
lea esi, [edi + 0xe]
pop eax
cmp word [esi], ax
je 0x6717a26f
xor ebx, ebx
xor edi, edi
and dword [esp + 0x28], ebx
mov eax, esi
push 0x3e
pop ecx
cmp word [esi], cx
jne 0x6717a16e
xor eax, eax
add esi, 2
lea ebx, [eax + 1]
mov eax, esi
push 0x3d
pop ecx
cmp word [esi], cx
jne 0x6717bb3d
lea esi, [eax + 2]
movzx eax, word [esi]
push 0x30
pop ecx
mov dword [esp + 0xc4], esi
cmp ax, cx
jb 0x6717bb3d
push 0x39
pop ecx
cmp ax, cx
ja 0x6717bb3d
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
lea eax, [esp + 0xd8]
push ebp
push eax
call fcn.6717ce3b
add esp, 0x1c
test eax, eax
je 0x6717bb23
mov esi, dword [esp + 0xc4]
cmp esi, ebp
jae 0x6717bb3d
push 0x2e
pop eax
cmp word [esi], ax
jne 0x6717a245
add esi, 2
cmp esi, ebp
jae 0x6717bb3d
movzx eax, word [esi]
push 0x30
pop ecx
cmp ax, cx
jb 0x6717bb3d
push 0x39
pop edx
cmp ax, dx
ja 0x6717bb3d
add esi, 2
sub eax, ecx
imul edi, eax, 0xa
mov eax, esi
movzx ecx, word [esi]
cmp cx, word [esp + 0x94]
jb 0x6717a231
cmp cx, dx
ja 0x6717a231
lea eax, [ecx - 0x30]
add edi, eax
lea eax, [esi + 2]
mov esi, eax
cmp eax, ebp
jae 0x6717bb3d
push 0x29
pop eax
cmp word [esi], ax
jne 0x6717bb3d
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
push 4
mov dword [ebp], 0x80150000
add ebp, 4
mov dword [ebp], ebx
pop ebx
add ebp, ebx
push 2
pop edx
mov dword [ebp], eax
add ebp, ebx
mov dword [ebp], edi
jmp 0x6717a3db
movzx ecx, word [edi]
xor ebp, ebp
push 0x52
pop eax
cmp cx, ax
jne 0x6717a29e
xor edx, edx
inc edx
cmp ebx, edx
jle 0x6717a29e
push 0x26
lea eax, [edi + 2]
pop ebx
cmp word [eax], bx
jne 0x6717a29e
push 0x29
pop edi
mov esi, edi
mov dword [esp + 0xc4], eax
mov ebp, edx
jmp 0x6717a2cd
push 0x3c
pop eax
cmp cx, ax
jne 0x6717a2ad
push 0x3e
pop eax
mov esi, eax
jmp 0x6717a2ca
push 0x27
pop eax
push 0x29
cmp cx, ax
jne 0x6717a2bb
mov esi, eax
jmp 0x6717a2cc
pop eax
push 2
mov esi, eax
pop eax
sub edi, eax
mov dword [esp + 0xc4], edi
push 0x29
pop edi
push dword [esp + 0xd0]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x50]
push eax
push esi
push dword [esp + 0x5c]
lea eax, [esp + 0xe0]
push dword [esp + 0x30]
push eax
call fcn.6717cc43
add esp, 0x24
test eax, eax
je 0x6717bb23
mov ebx, dword [esp + 0x48]
test ebp, ebp
je 0x6717a31e
mov ebp, dword [esp + 0x10]
mov dword [ebp], 0x80130000
jmp 0x6717a399
cmp esi, edi
jne 0x6717a3a7
mov edi, dword [esp + 0x50]
cmp ebx, 6
jne 0x6717a34a
push 6
push str.DEFINE
push edi
call fcn.6719fc92
add esp, 0xc
test eax, eax
jne 0x6717a34a
mov eax, 0x80100000
jmp 0x6717a392
xor edx, edx
inc edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x38], eax
cmp ebx, edx
jle 0x6717a37c
push 0x30
pop ebp
movzx esi, word [edi + eax*2]
mov ecx, edx
cmp si, bp
jb 0x6717a37c
push 0x39
pop edx
cmp si, dx
ja 0x6717a37c
inc eax
mov dword [esp + 0x38], eax
mov ecx, eax
mov edx, ecx
cmp eax, ebx
jl 0x6717a35c
push 0x52
pop eax
cmp word [edi], ax
jne 0x6717a38d
mov eax, 0x80140000
cmp ecx, ebx
jge 0x6717a392
mov eax, 0x80110000
mov ebp, dword [esp + 0x10]
mov dword [ebp], eax
mov esi, dword [esp + 0xc4]
push 2
pop edx
sub esi, edx
jmp 0x6717a3bc
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0xc4]
push 2
pop edx
mov dword [ebp], 0x80110000
mov eax, dword [ebp]
add ebp, 4
push 4
cmp eax, 0x80100000
je 0x6717a3d3
mov dword [ebp], ebx
pop ebx
add ebp, ebx
jmp 0x6717a3d4
pop ebx
mov eax, dword [esp + 0x40]
mov dword [ebp], eax
mov edi, dword [esp + 0x14]
cmp esi, edi
jae 0x6717bb47
push 0x29
pop eax
cmp word [esi], ax
jne 0x6717bb47
add esi, edx
jmp 0x671796d9
mov ebp, dword [esp + 0x10]
push 4
pop ebx
push 2
mov dword [ebp], 0x800f0000
add ebp, ebx
pop eax
mov dword [esp + 0x10], ebp
add esi, 0xfffffffe
mov dword [esp + 0x60], eax
jmp 0x67179900
mov eax, ebp
jmp 0x6717a850
mov eax, edi
sub eax, esi
push 2
and eax, 0xfffffffe
pop ebx
cmp eax, ebx
jle 0x6717a84d
movzx eax, word [esi + 2]
push 0x3d
pop ecx
cmp ax, cx
je 0x6717a44e
push 0x21
pop edx
cmp ax, dx
jne 0x6717a84d
cmp ax, cx
mov edx, 0x80260000
mov eax, 0x80250000
cmove edx, eax
mov eax, dword [esp + 0x10]
mov dword [eax], edx
lea ecx, [eax + 4]
mov eax, dword [esp + 0xcc]
xor edx, edx
inc edx
mov dword [eax], edx
mov eax, esi
mov edx, dword [esp + 0xd0]
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, ebx
add esi, 4
mov dword [esp + 0x40], eax
mov dword [ecx], eax
mov eax, ecx
jmp 0x6717acc8
push 0x3d
pop edx
sub eax, edx
je 0x6717acb1
sub eax, 1
je 0x6717ac8a
sub eax, 5
je 0x6717ab07
sub eax, 0xd
je 0x6717a82c
push 2
pop edx
sub eax, edx
jne 0x6717a4e3
add esi, edx
mov dword [esp + 0x38], eax
cmp esi, edi
jae 0x6717a4d6
push 0x29
pop ecx
cmp word [esi], cx
je 0x6717b22b
mov ecx, 0x9e
jmp 0x6717a58a
push 2
pop edx
push 0x39
pop ebx
push 0x2d
pop eax
cmp cx, ax
jne 0x6717a5a6
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, edx
jle 0x6717a5a6
movzx eax, word [esi + 2]
push 0x30
pop edx
cmp ax, dx
jb 0x6717a5a6
cmp ax, bx
ja 0x6717a5a6
push 0x30
pop eax
cmp cx, ax
jb 0x6717a52c
cmp cx, bx
ja 0x6717a52c
or eax, 0xffffffff
jmp 0x6717a536
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 0x74]
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x3c]
push ecx
push 0xa1
push 0xffff
push eax
lea eax, [esp + 0xd8]
push edi
push eax
call fcn.6717ce3b
add esp, 0x1c
test eax, eax
je 0x6717bb23
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0xc4]
test eax, eax
js 0x6717bb4b
cmp esi, edi
jae 0x6717a587
push 0x29
pop ecx
cmp word [esi], cx
je 0x6717b228
push 0x72
pop ecx
mov eax, dword [esp + 0xd0]
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
inc eax
mov dword [esp + 0x18], eax
test edx, edx
jne 0x6717a5c7
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x34], edx
jmp 0x6717a5e3
add edx, dword [esp + 0x4c]
mov dword [esp + 0x34], edx
cmp edx, dword [esp + 0x84]
jae 0x6717bbd4
mov ecx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x24]
mov word [edx], ax
xor eax, eax
mov word [edx + 6], ax
mov eax, ebx
and eax, 0x10424e8
mov dword [edx + 8], eax
push 0x7c
pop eax
cmp word [esi], ax
jne 0x6717a63c
mov ax, word [ecx + 0x74]
mov ebp, dword [esp + 0x10]
mov word [edx + 2], ax
mov ax, word [ecx + 0x74]
mov word [edx + 4], ax
xor eax, eax
inc eax
mov word [edx + 6], ax
or dword [ecx + 0x70], 0x200000
push 4
pop ebx
mov dword [ebp], 0x801a0000
add ebp, ebx
mov dword [esp + 0x10], ebp
add esi, 2
jmp 0x671795b3
xor eax, eax
mov dword [esp + 0x30], ebx
mov dword [edx + 2], eax
lea ebx, [esp + 0x28]
xor edx, edx
xor edi, edi
mov dword [esp + 0x3c], edx
mov ecx, esi
lea ebp, [eax + 1]
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x14]
cmp esi, eax
jae 0x6717a67d
push 0x5e
pop eax
cmp word [esi], ax
mov eax, dword [esp + 0x14]
jne 0x6717a67d
and dword [esp + 0x24], 0xfeffdb57
xor ebp, ebp
add esi, 2
mov ecx, esi
cmp ecx, eax
jae 0x6717a766
push 0x29
mov edx, ecx
pop edi
movzx eax, word [esi]
mov ecx, edx
cmp ax, di
je 0x6717a75e
cmp ax, word [esp + 0x98]
je 0x6717a75e
push 0x6d
lea esi, [edx + 2]
mov ecx, eax
pop edx
cmp ax, dx
ja 0x6717a708
je 0x6717a700
push 0x2d
pop ecx
cmp ax, cx
je 0x6717a6f0
cmp eax, 0x4a
je 0x6717a6dd
cmp eax, 0x55
je 0x6717a6d5
cmp eax, 0x69
jne 0x6717bb62
or dword [ebx], 8
jmp 0x6717a750
or dword [ebx], 0x40000
jmp 0x6717a750
mov eax, dword [esp + 0xd0]
or dword [ebx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x6717a750
test ebp, ebp
je 0x6717bb55
lea ebx, [esp + 0x3c]
xor ebp, ebp
jmp 0x6717a750
or dword [ebx], 0x400
jmp 0x6717a750
cmp eax, 0x6e
je 0x6717a74a
push 0x73
pop edx
cmp ax, dx
je 0x6717a745
push 0x78
pop edx
cmp cx, dx
jne 0x6717bb62
mov eax, dword [ebx]
mov ecx, esi
or eax, 0x80
mov dword [ebx], eax
cmp esi, dword [esp + 0x14]
jae 0x6717a752
cmp word [esi], dx
jne 0x6717a752
or eax, 0x1000000
lea ecx, [esi + 2]
mov dword [ebx], eax
mov esi, ecx
jmp 0x6717a752
or dword [ebx], 0x20
jmp 0x6717a750
or dword [ebx], 0x2000
mov ecx, esi
mov edx, ecx
cmp esi, dword [esp + 0x14]
jb 0x6717a68a
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x6717a778
test dl, dl
jns 0x6717a77e
or edx, 0x1000000
or edi, dword [esp + 0x24]
not edx
and edx, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x24], edx
cmp ecx, edi
jae 0x6717a587
mov ax, word [esi]
lea esi, [ecx + 2]
push 0x29
pop ecx
cmp ax, cx
mov ecx, dword [esp + 0xd0]
jne 0x6717a7f3
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x34]
movzx eax, ax
mov dword [esp + 0x18], eax
cmp edx, dword [ecx + 0x14]
jbe 0x6717a7e3
mov ebp, dword [esp + 0x18]
lea eax, [edx - 0xc]
cmp word [eax], bp
jne 0x6717a7df
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
push 4
mov dword [esp + 0x38], eax
pop ebx
jmp 0x6717a807
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
push 4
mov word [edx], ax
mov edx, dword [esp + 0x28]
pop ebx
jmp 0x6717a80b
mov ebp, dword [esp + 0x10]
push 4
pop ebx
mov dword [ebp], 0x801a0000
add ebp, ebx
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x18]
cmp edx, dword [esp + 0x30]
je 0x67179459
mov dword [ebp], 0x801b0000
add ebp, ebx
mov dword [ebp], edx
add ebp, ebx
mov dword [esp + 0x10], ebp
jmp 0x67179459
add esi, 2
mov dword [esp + 0xc4], esi
cmp esi, edi
jae 0x6717a587
movzx eax, word [esi]
push 0x3c
pop ecx
cmp ax, cx
jne 0x6717aa38
push 0x3e
pop eax
mov edi, dword [esp + 0xd0]
lea ecx, [esp + 0x20]
push edi
push ecx
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x50]
push ecx
push eax
push dword [esp + 0x5c]
lea eax, [esp + 0xe0]
push dword [esp + 0x30]
push eax
call fcn.6717cc43
add esp, 0x24
test eax, eax
je 0x6717bb23
mov eax, dword [edi + 0x74]
cmp eax, 0xffff
jae 0x6717bb99
mov ecx, dword [esp + 0x10]
inc eax
mov dword [edi + 0x74], eax
or eax, 0x80080000
mov dword [ecx], eax
add ecx, 4
movzx edx, word [edi + 0x58]
mov eax, 0x2710
inc dword [esp + 0x18]
mov dword [esp + 0x10], ecx
cmp dx, ax
jae 0x6717bb88
mov ebp, dword [esp + 0x48]
movzx eax, word [edi + 0x5a]
lea ecx, [ebp + 2]
cmp ecx, eax
jbe 0x6717a8dd
lea eax, [ebp + 2]
mov word [edi + 0x5a], ax
mov esi, dword [edi + 0x64]
xor ebx, ebx
and dword [esp + 0x28], 0
xor eax, eax
xor edi, edi
mov dword [esp + 0x38], ebx
cmp ax, dx
jae 0x6717a962
mov ecx, dword [esp + 0xd0]
movzx eax, word [esi + 8]
cmp ebp, eax
jne 0x6717a943
push ebp
push dword [esi]
push dword [esp + 0x58]
call fcn.6719fc5d
mov ecx, dword [esp + 0xdc]
add esp, 0xc
test eax, eax
jne 0x6717a943
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x74]
je 0x6717a962
test byte [esp + 0x24], 0x40
je 0x6717bb6c
xor eax, eax
inc eax
mov word [esi + 0xa], ax
mov dword [esp + 0x28], eax
mov dword [ecx + 0xbc], eax
jmp 0x6717a94f
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x74]
je 0x6717bb73
movzx eax, word [ecx + 0x58]
inc ebx
add esi, dword [esp + 0x4c]
mov edi, ebx
mov dword [esp + 0x38], ebx
cmp ebx, eax
jl 0x6717a8fb
mov esi, dword [esp + 0xd0]
movzx eax, word [esi + 0x58]
mov ecx, eax
cmp edi, ecx
jge 0x6717a97f
mov esi, dword [esp + 0xc4]
jmp 0x671798aa
mov edx, dword [esi + 0x68]
cmp ecx, edx
jb 0x6717a9d7
mov ecx, dword [esi]
lea edi, [edx + edx]
imul eax, edi, 0xc
push dword [ecx + 8]
push eax
call dword [ecx]
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x6717bb7a
mov ebx, dword [esp + 0xd0]
imul ecx, dword [ebx + 0x68], 0xc
push ecx
push dword [ebx + 0x64]
push esi
call fcn.671a4d7a
add esp, 0xc
cmp dword [ebx + 0x68], 0x14
jbe 0x6717a9cb
mov eax, dword [ebx]
push dword [eax + 8]
push dword [ebx + 0x64]
call dword [eax + 4]
pop ecx
pop ecx
mov dword [ebx + 0x64], esi
mov esi, ebx
movzx eax, word [esi + 0x58]
mov dword [esi + 0x68], edi
mov edx, dword [esp + 0x50]
movzx eax, ax
imul ecx, eax, 0xc
mov eax, dword [esi + 0x64]
push 4
pop ebx
mov dword [ecx + eax], edx
movzx eax, word [esi + 0x58]
imul ecx, eax, 0xc
mov eax, dword [esi + 0x64]
mov word [ecx + eax + 8], bp
movzx eax, word [esi + 0x58]
mov ecx, dword [esi + 0x64]
imul edx, eax, 0xc
mov eax, dword [esi + 0x74]
mov ebp, dword [esp + 0x10]
mov dword [edx + ecx + 4], eax
movzx eax, word [esi + 0x58]
mov edx, dword [esp + 0x28]
imul ecx, eax, 0xc
mov eax, dword [esi + 0x64]
mov esi, dword [esp + 0xc4]
mov word [ecx + eax + 0xa], dx
mov ecx, dword [esp + 0xd0]
inc word [ecx + 0x58]
jmp 0x671795af
push 0x3e
pop ecx
cmp ax, cx
jne 0x6717aab5
push dword [esp + 0xd0]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x50]
push eax
push 0x29
pop eax
push eax
push dword [esp + 0x5c]
lea eax, [esp + 0xe0]
push edi
push eax
call fcn.6717cc43
add esp, 0x24
test eax, eax
je 0x6717bb23
mov ebp, dword [esp + 0x10]
mov dword [ebp], 0x80210000
mov eax, dword [esp + 0x48]
push 4
pop ebx
add ebp, ebx
mov dword [ebp], eax
add ebp, ebx
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0xc4]
mov dword [ebp], eax
add ebp, ebx
xor eax, eax
mov dword [esp + 0x10], ebp
inc eax
mov dword [esp + 0x1c], eax
jmp 0x67179900
cmp ax, dx
jne 0x6717bbaa
push dword [esp + 0xd0]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x50]
push eax
push 0x29
pop eax
push eax
push dword [esp + 0x5c]
lea eax, [esp + 0xe0]
push edi
push eax
call fcn.6717cc43
add esp, 0x24
test eax, eax
je 0x6717bb23
mov ebp, dword [esp + 0x10]
mov dword [ebp], 0x80040000
jmp 0x6717aa87
add esi, 2
cmp esi, edi
jae 0x6717a587
mov ecx, dword [esp + 0x70]
lea eax, [ebp - 1]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x60], eax
push 4
pop ebx
test ecx, ecx
je 0x6717ab40
test byte [esp + 0x24], bl
je 0x6717ab40
lea eax, [ebp - 0x10]
cmp ecx, eax
jne 0x6717ab40
mov eax, 0xff
cmp dword [ebp - 4], eax
cmove ebp, ecx
mov eax, ebp
mov dword [esp + 0x70], eax
mov dword [esp + 0x5c], eax
xor eax, eax
inc eax
push 0x29
mov dword [esp + 0x6c], eax
movzx eax, word [esi]
pop ecx
cmp ax, cx
je 0x6717abfa
push 0x30
pop ecx
cmp ax, cx
jb 0x6717ab74
push 0x39
pop ecx
cmp ax, cx
jbe 0x6717abfa
mov edi, dword [str.____]
mov edx, esi
xor ecx, ecx
jmp 0x6717ab8c
cmp eax, edi
je 0x6717ab9e
mov edi, dword [ecx*4 + 0x673a8370]
inc ecx
mov dword [esp + 0x38], ecx
test edi, edi
jne 0x6717ab80
mov ecx, 0xb6
jmp 0x6717a58a
mov ecx, dword [ecx*4 + 0x673a8348]
test ecx, ecx
je 0x6717ab94
mov edi, dword [esp + 0x14]
mov dword [ebp], 0x80070000
add ebp, dword [esp + 0x4c]
add esi, 2
cmp esi, edi
jae 0x6717bbb4
movzx eax, word [esi]
cmp eax, ecx
jne 0x6717abb8
add esi, 2
cmp esi, edi
jae 0x6717abd8
movzx eax, word [esi]
cmp eax, ecx
je 0x6717abb8
mov eax, esi
mov ecx, esi
sub eax, edx
sar eax, 1
mov dword [ebp], eax
add ebp, ebx
mov eax, dword [esp + 0xd0]
sub edx, dword [eax + 0x1c]
sar edx, 1
mov dword [esp + 0x40], edx
mov dword [ebp], edx
jmp 0x6717ac4b
xor edi, edi
mov dword [ebp], 0x80060000
add ebp, dword [esp + 0x4c]
mov edx, esi
movzx eax, word [esi]
mov ecx, edx
cmp ax, word [esp + 0x94]
jb 0x6717ac44
cmp ax, word [esp + 0xa0]
ja 0x6717ac44
imul edi, edi, 0xa
lea esi, [edx + 2]
add eax, 0xffffffd0
mov ecx, esi
add edi, eax
mov eax, 0xff
cmp edi, eax
jg 0x6717bbc0
mov edx, esi
cmp esi, dword [esp + 0x14]
jb 0x6717ac09
mov dword [ebp], edi
mov edi, dword [esp + 0x14]
cmp ecx, edi
jae 0x6717bbca
push 0x29
pop eax
cmp word [esi], ax
jne 0x6717bbca
mov edx, dword [esp + 0x70]
lea esi, [ecx + 2]
mov ecx, dword [esp + 0xd0]
mov eax, esi
sub eax, dword [ecx + 0x1c]
sar eax, 1
mov dword [edx + 4], eax
and dword [edx + 8], 0
add ebp, ebx
mov dword [esp + 0x10], ebp
jmp 0x671795b3
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push 4
pop ebx
mov dword [ebp], 0x80020000
add ebp, ebx
push 2
inc eax
mov dword [esp + 0x14], ebp
pop ecx
mov dword [esp + 0x18], eax
add esi, ecx
jmp 0x67179452
mov eax, dword [esp + 0x10]
mov dword [eax], 0x80230000
mov edx, dword [esp + 0xd0]
add esi, 2
push 2
pop ebx
add eax, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
test ebp, ebp
jle 0x6717ad1c
cmp dword [esp + 0x34], 0
jne 0x6717acec
mov edx, dword [edx + 0x14]
mov dword [esp + 0x34], edx
jmp 0x6717ad05
mov edx, dword [esp + 0x34]
add edx, dword [esp + 0x4c]
mov dword [esp + 0x34], edx
cmp edx, dword [esp + 0x84]
jae 0x6717bbd4
mov word [edx], ax
mov eax, dword [esp + 0x24]
and eax, 0x10424e8
mov word [edx + 6], bx
mov dword [edx + 8], eax
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
push 4
pop ebx
mov ecx, dword [esp + 0xd0]
mov edi, dword [esp + 0x14]
jmp 0x67179459
mov ebp, dword [esp + 0x10]
mov dword [ebp], 0x80160000
jmp 0x6717959f
mov edi, dword [esp + 0x14]
mov dword [esp + 0x58], 0x803a0000
jmp 0x6717ae37
mov eax, ecx
sub eax, 0x5b
je 0x6717b31b
sub eax, 1
je 0x6717aec5
push 2
pop edx
sub eax, edx
je 0x6717aeb5
sub eax, 0x1d
je 0x6717addf
sub eax, 1
jne 0x6717b2ff
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
test edx, edx
je 0x6717adbf
cmp word [edx], ax
jne 0x6717adbf
xor ecx, ecx
inc ecx
test byte [edx + 6], cl
mov ecx, dword [esp + 0xd0]
je 0x6717adc6
movzx eax, word [edx + 4]
cmp dword [ecx + 0x74], eax
jbe 0x6717adb2
mov ax, word [ecx + 0x74]
mov word [edx + 4], ax
movzx eax, word [edx + 2]
mov dword [ecx + 0x74], eax
mov eax, dword [esp + 0x18]
jmp 0x6717adc6
mov ecx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x10]
push 4
pop ebx
mov dword [ebp], 0x80010000
add ebp, ebx
mov dword [esp + 0x10], ebp
jmp 0x6717ad2a
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xd0]
push edi
push eax
call fcn.6717cf26
add esp, 0x14
test eax, eax
jne 0x6717ae28
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x6717bb8d
mov ebp, dword [esp + 0x10]
push 0x7b
pop eax
push 4
pop ebx
jmp 0x6717aa99
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x58], 0x803d0000
push 4
pop edx
test ebx, ebx
je 0x6717bbde
mov ebp, dword [esp + 0x10]
lea ecx, [ebp - 4]
cmp dword [ecx], 0x802a0000
jne 0x6717ae72
mov ebx, dword [esp + 0x7c]
jmp 0x6717ae5e
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, edx
cmp ecx, ebx
jae 0x6717ae57
mov dword [ebx], 0x801a0000
mov dword [ebp + 4], 0x80190000
add ebp, 8
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xd0]
push 4
pop ebx
mov dword [ebp], eax
add ebp, ebx
push 0x7b
pop eax
cmp dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], ebp
jne 0x67179459
mov eax, dword [esp + 0xa4]
mov dword [ebp], eax
add ebp, ebx
mov eax, dword [esp + 0xa8]
mov dword [ebp], eax
jmp 0x6717ac7b
mov ebp, dword [esp + 0x10]
mov dword [ebp], 0x80090000
jmp 0x6717959f
mov ebx, dword [esp + 0xd0]
mov ebp, esi
push ebx
push 0
mov dword [esp + 0x6c], ebp
mov eax, dword [ebx]
push dword [eax + 0x24]
lea eax, [esp + 0x2c]
push dword [esp + 0x30]
push eax
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0xe0]
push eax
call fcn.67173d5f
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov esi, dword [esp + 0xc4]
mov edi, eax
test ecx, ecx
jne 0x6717b0dd
mov ecx, dword [esp + 0x30]
test edi, edi
je 0x6717b2ff
js 0x6717b2bc
cmp edi, 0x10
jg 0x6717afbc
cmp edi, 0xf
jge 0x6717af72
cmp edi, 6
jl 0x6717b2b1
cmp edi, 0xb
jle 0x6717b173
cmp edi, dword [esp + 0x4c]
je 0x6717b2aa
cmp edi, 0xe
jne 0x6717b2b1
test dword [esp + 0x24], 0x100000
je 0x6717b15c
mov ecx, 0xb7
mov dword [esp + 0x20], ecx
jmp 0x6717b0dd
and dword [esp + 0x28], 0
lea eax, [esp + 0x20]
and dword [esp + 0x3c], 0
push ebx
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.67178cfc
add esp, 0x18
test eax, eax
jne 0x6717b1e7
mov esi, dword [esp + 0xc4]
mov ecx, dword [esp + 0x20]
jmp 0x6717b0dd
cmp edi, 0x16
jle 0x6717b2aa
cmp edi, 0x1a
jle 0x6717b2b1
cmp edi, 0x1c
jg 0x6717b2b1
mov ecx, dword [esp + 0x14]
cmp esi, ecx
jae 0x6717b0fe
movzx eax, word [esi]
push 0x7b
pop edx
push 0x3c
cmp ax, dx
pop edx
je 0x6717b004
cmp ax, dx
je 0x6717b009
cmp ax, word [esp + 0xac]
jne 0x6717b0fe
cmp ax, dx
jne 0x6717b010
push 0x3e
pop eax
mov ebx, eax
jmp 0x6717b01c
push 0x7d
pop ebx
push 0x27
pop edx
cmp ax, dx
cmove ebx, edx
cmp edi, 0x1b
jne 0x6717b092
cmp ebx, 0x7d
je 0x6717b092
lea eax, [esi + 2]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0xd8]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [esp + 0x3c]
push ecx
push eax
call fcn.6717ce3b
add esp, 0x1c
test eax, eax
je 0x6717b086
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
cmp ecx, edi
jae 0x6717b074
movzx eax, word [ecx]
cmp eax, ebx
je 0x6717b222
mov ebx, dword [esp + 0xd0]
mov ecx, 0x9d
mov dword [esp + 0x20], ecx
jmp 0x6717b0e1
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x6717b0d6
mov ecx, dword [esp + 0x14]
push dword [esp + 0xd0]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x50]
push eax
push ebx
push dword [esp + 0x5c]
lea eax, [esp + 0xe0]
push ecx
push eax
call fcn.6717cc43
add esp, 0x24
test eax, eax
jne 0x6717b265
mov esi, dword [esp + 0xc4]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0x14]
test byte [esp + 0x78], 2
je 0x6717a58a
mov esi, ebp
mov dword [esp + 0xc4], esi
cmp ebp, edi
jb 0x6717b111
push 0x5c
pop ecx
jmp 0x6717b155
mov ecx, 0xa9
cmp edi, 0x1b
lea eax, [ecx - 0xc]
cmove ecx, eax
jmp 0x6717af69
cmp dword [esp + 0x44], 0
lea esi, [ebp + 2]
movzx ecx, word [ebp]
mov dword [esp + 0xc4], esi
je 0x6717b155
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717b155
movzx eax, word [esi]
mov edx, 0x3ff
and ecx, edx
and eax, edx
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0xc4], esi
xor edi, edi
jmp 0x6717af15
mov ebp, dword [esp + 0x10]
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov dword [ebp], 0x8018000e
jmp 0x6717959f
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov eax, 0x20000
test dword [esp + 0x24], eax
jne 0x6717b197
mov ebp, dword [esp + 0x10]
lea eax, [edi - 0x7fe80000]
push 4
pop ebx
mov dword [ebp], eax
jmp 0x6717b1df
cmp edi, 7
je 0x6717b1ab
cmp edi, 9
je 0x6717b1ab
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x6717b1b0
mov eax, 0x80180010
mov ebp, dword [esp + 0x10]
push 4
pop ebx
mov dword [ebp], eax
add ebp, ebx
cmp edi, 7
jle 0x6717b1d8
cmp edi, 9
jle 0x6717b1cf
mov dword [ebp], 0x80000
jmp 0x6717b1df
mov dword [ebp], 0x60000
jmp 0x6717b1df
mov dword [ebp], 0x3000d
add ebp, 4
jmp 0x671795a4
cmp dword [esp + 0xb0], 0
je 0x6717b1fc
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
mov ebp, dword [esp + 0x10]
lea eax, [edi - 0x7fe80000]
movzx ecx, word [esp + 0x28]
push 4
pop ebx
mov dword [ebp], eax
add ebp, ebx
movzx eax, word [esp + 0x3c]
shl ecx, 0x10
or ecx, eax
mov dword [ebp], ecx
jmp 0x6717b295
mov eax, dword [esp + 0x38]
mov esi, ecx
push 2
pop edx
mov ebp, dword [esp + 0x10]
or eax, 0x80200000
mov ecx, dword [esp + 0xd0]
push 4
pop ebx
mov dword [ebp], eax
add ebp, ebx
mov eax, esi
add esi, edx
sub eax, dword [ecx + 0x1c]
sar eax, 1
mov dword [ebp], eax
add ebp, ebx
mov dword [esp + 0x40], eax
xor eax, eax
inc eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], eax
jmp 0x671795b3
cmp edi, 0x1c
je 0x6717b274
mov eax, 0x80210000
cmp ebx, 0x7d
jne 0x6717b279
mov eax, 0x80040000
mov ebp, dword [esp + 0x10]
push 4
pop ebx
mov dword [ebp], eax
add ebp, ebx
mov eax, dword [esp + 0x48]
mov dword [ebp], eax
add ebp, ebx
mov eax, dword [esp + 0x40]
mov dword [ebp], eax
mov esi, dword [esp + 0xc4]
xor eax, eax
add ebp, ebx
inc eax
mov dword [esp + 0x1c], eax
jmp 0x671795a4
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
lea eax, [edi - 0x7fe80000]
jmp 0x6717964b
mov ebp, dword [esp + 0x10]
neg edi
mov ecx, esi
mov eax, edi
sub ecx, dword [ebx + 0x1c]
or eax, 0x80030000
push 4
sar ecx, 1
pop ebx
dec ecx
mov dword [ebp], eax
add ebp, ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], ebp
cmp edi, 0xa
jge 0x6717b2fa
mov eax, dword [esp + 0xd0]
cmp dword [eax + edi*4 + 0x2c], 0xffffffff
jne 0x6717b30f
mov dword [eax + edi*4 + 0x2c], ecx
jmp 0x6717b30f
mov dword [ebp], ecx
jmp 0x6717b309
mov ebp, dword [esp + 0x10]
mov dword [ebp], ecx
push 4
pop ebx
add ebp, ebx
mov dword [esp + 0x10], ebp
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
jmp 0x671795a8
mov ebp, dword [esp + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov eax, ebp
sub eax, esi
and eax, 0xfffffffe
cmp eax, dword [esp + 0x4c]
jl 0x6717b3d3
push 6
push 0x6738d854
push esi
call fcn.6719fc92
add esp, 0xc
test eax, eax
je 0x6717b35f
push 6
push str._:_:__
push esi
call fcn.6719fc92
add esp, 0xc
test eax, eax
jne 0x6717b3d3
mov ecx, dword [esp + 0x10]
push 4
pop ebx
push 0x3c
lea eax, [ecx + 4]
mov dword [ecx], 0x80180005
pop edx
add eax, ebx
cmp word [esi + 4], dx
jne 0x6717b383
mov dword [ecx + ebx], 0x80230000
jmp 0x6717b39c
mov edx, 0x80250000
mov dword [ecx + ebx], edx
xor edx, edx
mov ecx, dword [esp + 0xcc]
inc edx
mov dword [ecx], edx
and dword [eax], 0
add eax, ebx
mov ecx, 0x20000
lea ebp, [eax + 4]
test dword [esp + 0x24], ecx
jne 0x6717b3b2
mov dword [eax], 0x8018000b
jmp 0x6717b3c1
mov dword [eax], 0x80180010
mov dword [ebp], 0x80000
add ebp, ebx
mov dword [ebp], 0x80190000
add ebp, ebx
add esi, dword [esp + 0x4c]
jmp 0x671795a4
cmp esi, ebp
jae 0x6717b40d
movzx eax, word [esi]
mov ecx, edi
push 0x3a
pop ebx
cmp ax, bx
je 0x6717b3f4
push 0x2e
pop edx
cmp ax, dx
je 0x6717b3f4
push 0x3d
pop edx
cmp ax, dx
jne 0x6717b40d
lea eax, [esp + 0x64]
mov edi, ecx
push eax
push ebp
push esi
call fcn.67174e5b
add esp, 0xc
test eax, eax
jne 0x6717bbe5
xor edx, edx
mov dword [esp + 0x28], edx
push 0x5b
pop ebx
cmp edi, ebp
jae 0x6717b512
movzx ebx, word [esi]
add esi, 2
cmp dword [esp + 0x44], 0
mov ecx, ebx
mov dword [esp + 0x2c], ebx
mov edi, esi
mov dword [esp + 0x30], ebx
mov ebp, esi
mov dword [esp + 0xc4], esi
mov dword [esp + 0x3c], ecx
je 0x6717b489
mov eax, ebx
mov dword [esp + 0x3c], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717b489
movzx eax, word [esi]
mov ecx, 0x3ff
and ebx, ecx
and eax, ecx
shl ebx, 0xa
or ebx, eax
add ebx, 0x10000
add esi, 2
mov dword [esp + 0x2c], ebx
mov ecx, ebx
mov dword [esp + 0x30], ebx
mov ebp, esi
mov dword [esp + 0xc4], esi
mov edi, esi
mov dword [esp + 0x3c], ebx
cmp ecx, 0x5c
jne 0x6717b4dc
mov eax, dword [esp + 0x14]
cmp ebp, eax
jae 0x6717b4a2
push 0x45
pop ebx
cmp word [esi], bx
jne 0x6717b4a2
push 2
jmp 0x6717b4cd
sub eax, ebp
and eax, 0xfffffffe
push 0x5c
pop ebx
cmp eax, 6
jl 0x6717b512
push 3
push 0x6738d864
push esi
call fcn.6719fc92
mov edx, dword [esp + 0x34]
add esp, 0xc
test eax, eax
jne 0x6717b512
mov ecx, dword [esp + 0x3c]
push 6
pop eax
lea esi, [eax + ebp]
mov dword [esp + 0xc4], esi
mov edi, esi
jmp 0x6717b506
test dword [esp + 0x24], 0x1000000
mov eax, edi
je 0x6717b4f2
cmp ecx, 0x20
je 0x6717b506
cmp ecx, 9
je 0x6717b506
mov ebx, ecx
mov edi, eax
test edx, edx
jne 0x6717b512
push 0x5e
pop ebp
cmp ecx, ebp
jne 0x6717b512
inc edx
mov dword [esp + 0x28], edx
mov ebx, ecx
cmp esi, dword [esp + 0x14]
jb 0x6717b41e
push 0x5d
pop eax
cmp ebx, eax
jne 0x6717b54e
mov ecx, dword [esp + 0xd0]
mov ebx, eax
xor eax, eax
inc eax
test byte [ecx + 0x6c], al
je 0x6717b54e
mov ebp, dword [esp + 0x10]
test edx, edx
mov eax, 0x800b0000
mov edi, 0x800c0000
cmovne eax, edi
push 4
pop ebx
mov dword [ebp], eax
add ebp, ebx
mov dword [esp + 0x10], ebp
jmp 0x671795af
test edx, edx
mov ecx, 0x800e0000
mov edx, dword [esp + 0x2c]
mov eax, 0x800a0000
cmovne eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov dword [esp + 0x1c], ecx
xor ebp, ebp
inc ebp
test eax, eax
je 0x6717b64a
cmp ebx, 0x5c
jne 0x6717ba62
cmp esi, dword [esp + 0x14]
jae 0x6717ba62
push 0x45
pop eax
cmp word [esi], ax
jne 0x6717ba62
and dword [esp + 0x54], 0
lea esi, [edi + 2]
mov ebp, dword [esp + 0x10]
cmp esi, dword [esp + 0x14]
jae 0x6717bc27
movzx edx, word [esi]
add esi, 2
cmp dword [esp + 0x44], 0
mov edi, esi
mov dword [esp + 0x2c], edx
mov ebx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0xc4], esi
je 0x6717b613
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717b613
movzx eax, word [esi]
mov ebx, 0x3ff
and edx, ebx
and eax, ebx
shl edx, 0xa
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [esp + 0x2c], edx
mov ebx, edx
mov dword [esp + 0x30], edx
mov edi, esi
mov dword [esp + 0xc4], esi
push 0x5d
pop eax
cmp ebx, eax
mov eax, dword [esp + 0x54]
jne 0x6717b578
test eax, eax
jne 0x6717b578
inc eax
cmp ecx, eax
jne 0x6717b635
push 0x2d
pop ecx
mov dword [ebp - 4], ecx
push 4
pop ebx
mov dword [ebp], 0x800d0000
add ebp, ebx
mov dword [esp + 0x10], ebp
jmp 0x6717b312
test dword [esp + 0x24], 0x1000000
je 0x6717b666
cmp ebx, 0x20
je 0x6717b5aa
cmp ebx, 9
je 0x6717b5aa
cmp ebx, 0x5b
jne 0x6717b7ba
mov eax, dword [esp + 0x14]
sub eax, edi
and eax, 0xfffffffe
cmp eax, 6
jl 0x6717ba62
movzx eax, word [esi]
mov ebx, edi
cmp ax, word [esp + 0x98]
je 0x6717b6a6
cmp ax, word [esp + 0xb4]
je 0x6717b6a6
push 0x3d
pop edi
cmp ax, di
jne 0x6717ba62
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x18]
push esi
call fcn.67174e5b
add esp, 0xc
test eax, eax
je 0x6717ba5a
xor ecx, ecx
xor edi, edi
inc ecx
cmp dword [esp + 0x1c], ecx
je 0x6717bc16
push 0x3a
pop eax
cmp word [esi], ax
jne 0x6717bc05
push 0x5e
lea esi, [ebx + 2]
pop eax
cmp word [esi], ax
jne 0x6717b6eb
mov edi, ecx
add esi, 2
mov ebx, dword [esp + 0x64]
mov eax, ebx
sub eax, esi
sar eax, 1
push eax
push esi
call fcn.67174e12
mov edx, eax
pop ecx
pop ecx
test edx, edx
js 0x6717bbfb
mov ecx, dword [esp + 0x14]
lea esi, [ebx + 4]
add ecx, 0xfffffffe
cmp esi, ecx
jae 0x6717b72b
push 0x2d
pop eax
cmp word [esi], ax
jne 0x6717b72b
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x6717bc16
xor ecx, ecx
mov eax, 0x20000
mov dword [esp + 0x1c], ecx
test dword [esp + 0x24], eax
je 0x6717b79e
mov eax, dword [edx*8 + 0x674434d8]
mov ecx, dword [edx*8 + 0x674434dc]
test eax, eax
js 0x6717b778
mov ebp, dword [esp + 0x10]
xor edx, edx
inc edx
shl eax, 0x10
xor edi, edx
or eax, ecx
sub edi, 0x7fe7fff1
mov dword [ebp], edi
mov dword [ebp + 4], eax
add ebp, 8
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x1c]
jmp 0x6717b5ae
test ecx, ecx
mov ecx, dword [esp + 0x1c]
je 0x6717b79e
mov ebp, dword [esp + 0x10]
xor eax, eax
inc eax
xor edi, eax
sub edi, 0x7fe7ffee
mov dword [ebp], edi
add ebp, 4
mov dword [esp + 0x10], ebp
jmp 0x6717b5ae
mov ebp, dword [esp + 0x10]
lea eax, [edi + 0x801c]
shl eax, 0x10
push 4
mov dword [ebp], eax
pop eax
add ebp, eax
mov dword [ebp], edx
add ebp, eax
jmp 0x6717b795
push 0x2d
pop eax
cmp ebx, eax
jne 0x6717b7f8
push 2
pop eax
cmp ecx, eax
jb 0x6717ba62
mov ebp, dword [esp + 0x10]
cmp ecx, 3
mov ecx, 0x801f0000
mov eax, 0x801e0000
cmove eax, ecx
mov dword [ebp], eax
add ebp, 4
xor eax, eax
mov dword [esp + 0x10], ebp
lea ecx, [eax + 1]
mov dword [esp + 0x1c], ecx
jmp 0x6717b5ae
cmp ebx, 0x5c
jne 0x6717ba62
mov ebx, dword [esp + 0xd0]
xor eax, eax
mov ebp, dword [esp + 0x14]
inc eax
push ebx
push eax
mov eax, dword [ebx]
mov dword [esp + 0x6c], esi
push dword [eax + 0x24]
lea eax, [esp + 0x2c]
push dword [esp + 0x30]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xdc]
push ebp
push eax
call fcn.67173d5f
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov edi, eax
test ecx, ecx
je 0x6717b8a7
test byte [esp + 0x78], 2
je 0x6717bb8d
mov dword [esp + 0xc4], esi
cmp esi, ebp
jb 0x6717b85e
push 0x5c
pop edx
jmp 0x6717b8a3
cmp dword [esp + 0x44], 0
lea ecx, [esi + 2]
movzx edx, word [esi]
mov esi, ecx
mov dword [esp + 0xc4], esi
je 0x6717b8a3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6717b8a3
movzx eax, word [esi]
mov ebp, 0x3ff
and edx, ebp
lea esi, [ecx + 2]
and eax, ebp
shl edx, 0xa
or edx, eax
mov dword [esp + 0xc4], esi
add edx, 0x10000
xor edi, edi
jmp 0x6717b8b2
mov esi, dword [esp + 0xc4]
mov edx, dword [esp + 0x30]
mov eax, edi
sub eax, 0
je 0x6717ba56
sub eax, 4
je 0x6717b92b
sub eax, 1
je 0x6717ba53
mov edx, dword [esp + 0x4c]
sub eax, edx
je 0x6717b92b
sub eax, 5
je 0x6717b92b
sub eax, 3
je 0x6717ba4a
sub eax, 1
je 0x6717ba43
xor ecx, ecx
inc ecx
cmp dword [esp + 0x1c], ecx
je 0x6717bc16
xor eax, eax
mov dword [esp + 0x1c], eax
cmp edi, 6
jl 0x6717b92b
cmp edi, 0xb
jle 0x6717b9ae
cmp edi, edx
je 0x6717bc0c
cmp edi, 0xe
jle 0x6717b92b
cmp edi, 0x10
jle 0x6717b938
cmp edi, 0x11
jle 0x6717b92b
cmp edi, 0x15
jle 0x6717b9b9
push 0x6b
pop ecx
push 2
pop eax
sub esi, eax
jmp 0x6717a58a
and dword [esp + 0x28], eax
and dword [esp + 0x3c], eax
lea eax, [esp + 0x20]
push ebx
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.67178cfc
add esp, 0x18
test eax, eax
je 0x6717bb23
cmp dword [esp + 0xb8], 0
je 0x6717b985
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
mov edx, dword [esp + 0x10]
lea eax, [edi - 0x7fe80000]
movzx ecx, word [esp + 0x28]
mov esi, dword [esp + 0xc4]
shl ecx, 0x10
mov dword [edx], eax
add edx, 4
movzx eax, word [esp + 0x3c]
or ecx, eax
mov dword [edx], ecx
jmp 0x6717ba09
mov eax, 0x20000
test dword [esp + 0x24], eax
jne 0x6717b9c7
mov edx, dword [esp + 0x10]
lea eax, [edi - 0x7fe80000]
mov dword [edx], eax
jmp 0x6717ba09
cmp edi, 7
je 0x6717b9db
cmp edi, 9
je 0x6717b9db
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x6717b9e0
mov eax, 0x80180010
mov edx, dword [esp + 0x10]
mov dword [edx], eax
add edx, 4
cmp edi, 7
jle 0x6717ba03
cmp edi, 9
jle 0x6717b9fb
mov dword [edx], 0x80000
jmp 0x6717ba09
mov dword [edx], 0x60000
jmp 0x6717ba09
mov dword [edx], 0x3000d
mov eax, dword [esp + 0x14]
lea ecx, [edx + 4]
add eax, 0xfffffffe
mov ebp, ecx
mov dword [esp + 0x10], ebp
cmp esi, eax
jae 0x6717b76f
push 0x2d
pop eax
mov dword [esp + 0x10], ebp
cmp word [esi], ax
jne 0x6717b76f
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x6717bc16
jmp 0x6717b76b
xor eax, eax
inc eax
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x1c]
jmp 0x6717b5aa
push 8
pop edx
xor ebp, ebp
jmp 0x6717ba5e
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
xor eax, eax
inc eax
cmp ecx, eax
jne 0x6717baa8
mov eax, dword [esp + 0x10]
cmp edx, dword [eax - 8]
jne 0x6717ba78
push 0xfffffffffffffffc
mov ebp, eax
jmp 0x6717ba9c
jb 0x6717bc20
test ebp, ebp
mov ebp, dword [esp + 0x10]
jne 0x6717ba97
mov eax, 0x801f0000
cmp dword [ebp - 4], eax
jne 0x6717ba97
mov dword [ebp - 4], 0x801e0000
mov dword [ebp], edx
push 4
xor ecx, ecx
pop eax
mov dword [esp + 0x1c], ecx
jmp 0x6717b7b6
lea ecx, [ebp + 2]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov dword [ebp], edx
jmp 0x6717b792
mov ecx, 0x8c
jmp 0x6717a58a
lea esi, [edi - 2]
mov ecx, 0xb0
jmp 0x6717a58a
push 0x76
jmp 0x6717a589
mov edi, ecx
jmp 0x671799fc
push 0x7a
jmp 0x6717b92d
cmp edx, 0x80270000
je 0x6717bafb
cmp edx, 0x80280000
jne 0x671799ff
mov ecx, 0xc6
jmp 0x6717a58a
mov ecx, 0xbd
jmp 0x6717a58a
mov ecx, 0xc3
jmp 0x6717a58a
mov ecx, 0xa6
jmp 0x6717a58a
mov esi, dword [esp + 0xc4]
mov ecx, dword [esp + 0x20]
jmp 0x6717a58a
push 0x73
pop eax
mov ecx, eax
jmp 0x6717a58a
mov ecx, 0xb3
jmp 0x6717a58a
push 0x7c
jmp 0x6717bb35
push 0x73
pop eax
mov ecx, eax
jmp 0x6717b92e
mov ecx, 0xc2
add esi, 0xfffffffe
jmp 0x6717a58a
push 0x6f
add esi, 0xfffffffe
jmp 0x6717a589
mov ecx, 0x8f
jmp 0x6717bb8d
mov ecx, 0xa5
jmp 0x6717bb8d
mov esi, dword [esp + 0xc4]
push 0x79
jmp 0x6717a589
mov ecx, 0x95
mov esi, dword [esp + 0xc4]
jmp 0x6717a58a
mov esi, dword [esp + 0xc4]
mov ecx, 0xc5
jmp 0x6717a58a
mov ecx, 0x8d
jmp 0x6717a58a
mov ecx, 0xb5
mov esi, edx
jmp 0x6717a58a
mov ecx, 0x8a
jmp 0x6717a58a
mov ecx, 0x8b
jmp 0x6717a58a
mov ecx, 0xb8
jmp 0x6717a58a
push 0x6d
jmp 0x6717b92d
movzx eax, word [esi]
xor ecx, ecx
cmp ax, bx
lea esi, [edi - 2]
setne cl
add ecx, 0x70
jmp 0x6717a58a
mov ecx, 0x82
jmp 0x6717a58a
push 0x71
jmp 0x6717b92d
mov ecx, 0xab
jmp 0x6717a58a
mov ecx, 0x96
jmp 0x6717a58a
push 0x6c
jmp 0x6717b92d
push 0x6a
jmp 0x6717a589
push 0x77
jmp 0x6717a589
cmp dword [esp + 0x6c], 0
je 0x6717937f
mov ecx, 0xa0
jmp 0x6717a58a
test byte [esp + 0x78], bl
je 0x6717bc60
mov dword [eax], 0x80190000
add eax, ebx
mov dword [eax], 0x80180005
add eax, ebx
cmp eax, dword [esp + 0x88]
jb 0x6717bc73
mov ecx, 0xa3
jmp 0x6717a58a
cmp word [esp + 0x18], 0
mov dword [eax], 0x80000000
jne 0x6717a587
xor eax, eax
jmp 0x6717a59b