Function at 0x1007e077
Capabilities:
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x624
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0xf8], eax
push esi
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x104], 0
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
add eax, 1
mov esi, dword [ebp + 0x18]
mov dword [esi], eax
cmp ecx, edx
jb 0x100769fd
mov eax, 0xfffffff8
jmp 0x10081b60
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x28]
cmp edx, dword [ecx + 8]
jb 0x10076a12
mov eax, 0xffffffeb
jmp 0x10081b60
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp + 0x24]
and ecx, 2
je 0x10076a3e
mov edx, dword [ebp + 8]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0xdc]
mov dword [ebp + 0x20], ecx
mov dword [ebp - 0x108], 0
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x48], 0
je 0x10076a83
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10076a83
mov edx, dword [ebp + 8]
cmp edx, dword [ebp + 0x10]
jbe 0x10076a83
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x4c], 1
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x4a4], ecx
cmp dword [ebp - 0x4a4], 0x6f
ja case.0x10076aa9.70
mov edx, dword [ebp - 0x4a4]
movzx eax, byte [edx + 0x10081c98]
jmp dword [eax*4 + 0x10081b74]
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x24]
push edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x100943d8]
add ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10076b0d
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, 0xfffffc1a
jmp 0x10081b60
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x100943d8]
add eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10076b6d
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, 0xfffffc19
jmp 0x10081b60
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x100943d8]
add edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10076bcd
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x60], edx
mov eax, 0xfffffc1b
jmp 0x10081b60
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x100943d8]
add eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10076c36
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, 0xfffffc1c
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 4]
or eax, edx
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
shl eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ecx + 0x14]
jge case.0x10076aa9.94
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + eax*4 + 4]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x10]
sub eax, dword [ebp - 0x114]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x6c]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0x58]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x10]
sub eax, dword [ebp - 0x114]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx + 0xc]
mov dword [edx + eax*4], ecx
xor eax, eax
cmp dword [ebp - 0x110], 0x62
setne al
sub eax, 1
and eax, 2
mov dword [ebp + 0x24], eax
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x24]
push edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x100943d8]
add ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10076d5a
cmp dword [ebp - 0x128], 0xfffffc1c
je 0x10076d5a
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 0x6c], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x54
je 0x10076cf8
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 4]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x20]
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x10]
sub edx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xcc]
mov dword [ecx + edx*4], eax
xor eax, eax
jmp 0x10081b60
xor ecx, ecx
cmp dword [ebp - 0x110], 0x61
setl cl
sub ecx, 1
and ecx, 2
mov dword [ebp + 0x24], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + eax]
cmp edx, 0x54
je 0x10076e74
cmp dword [ebp + 0x24], 0
jne 0x10076e27
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x100943d8]
add edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
jmp 0x100769cb
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x100943d8]
add eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x100943d8]
add edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10076ed6
cmp dword [ebp - 0x128], 0xfffffc1c
je 0x10076ed6
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
jmp 0x10076dea
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
cmp eax, 0x65
jne 0x10076fa4
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 4]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 5]
or edx, ecx
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x10076f4f
cmp dword [ebp - 0xd0], 0xffff
je 0x10076f43
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x7c]
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ecx + 4]
jne 0x10076f4f
mov dword [ebp - 0x4a8], 1
jmp 0x10076f59
mov dword [ebp - 0x4a8], 0
mov eax, dword [ebp - 0x4a8]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x10076f7a
mov dword [ebp - 0x4ac], 3
jmp 0x10076f93
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov dword [ebp - 0x4ac], edx
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0x4ac]
mov dword [ebp + 0xc], edx
jmp 0x10077152
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
cmp ecx, 0x64
jne 0x1007704d
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 5]
or eax, edx
shl eax, 1
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp + 0x14]
jge 0x10076ff8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
cmp dword [edx + eax*4], 0
jl 0x10076ff8
mov dword [ebp - 0x4b0], 1
jmp 0x10077002
mov dword [ebp - 0x4b0], 0
mov ecx, dword [ebp - 0x4b0]
mov dword [ebp - 0xe8], ecx
cmp dword [ebp - 0xe8], 0
je 0x10077023
mov dword [ebp - 0x4b4], 3
jmp 0x1007703c
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x4b4]
mov dword [ebp + 0xc], eax
jmp 0x10077152
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 3]
cmp edx, 0x66
jne 0x10077081
mov dword [ebp - 0xe8], 0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
jmp 0x10077152
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 1
push 0
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 1
jne 0x1007710d
mov dword [ebp - 0xe8], 1
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 5]
or eax, edx
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + eax + 3]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x54
jne 0x1007710b
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
jmp 0x100770e5
jmp 0x10077152
cmp dword [ebp - 0x128], 0
je 0x1007712f
cmp dword [ebp - 0x128], 0xfffffc1c
je 0x1007712f
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov dword [ebp - 0xe8], 0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0xe8], 0
jne 0x10077166
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x54
jne 0x100771c6
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
cmp dword [ebp - 0x110], 0x63
jne 0x100771b8
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 2
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov dword [ebp + 0x24], 0
jmp 0x100769cb
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x10081b5b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x7c], 0
je 0x10077250
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x7c]
cmp dword [eax + 4], 0
jne 0x10077250
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x7c]
mov dword [ebp - 0x134], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ecx]
mov dword [eax + 0x7c], edx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x14]
shl ecx, 2
push ecx
mov edx, dword [ebp - 0x134]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.MSVCR90.dll_memmove]
add esp, 0xc
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0xc]
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp + 0x1c], edx
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 8]
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x44], 0
je 0x10077268
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0x10]
jne 0x10077268
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x64], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x68], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov dword [edx + 0x60], eax
mov eax, 1
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
mov dword [ebp + 0x1c], edx
mov eax, dword [ebp + 0xc]
add eax, 2
mov dword [ebp + 0xc], eax
jmp 0x10081b5b
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 0
push 0
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 1
jne 0x100772e4
jmp 0x1007732c
cmp dword [ebp - 0x128], 0
je 0x10077304
cmp dword [ebp - 0x128], 0xfffffc1c
je 0x10077304
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x54
je case.0x10076aa9.88
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x55
jne 0x1007733e
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0x24]
and ecx, 1
je 0x10077350
mov eax, 1
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x54
je 0x10077350
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x68]
mov dword [ebp + 0x14], ecx
jmp 0x10076a3e
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
push 0
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 3
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 1
jne 0x100773cf
xor eax, eax
jmp 0x10081b60
cmp dword [ebp - 0x128], 0
je 0x100773ef
cmp dword [ebp - 0x128], 0xfffffc1c
je 0x100773ef
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x54
je case.0x10076aa9.89
mov eax, dword [ebp + 0x24]
and eax, 1
je 0x10077429
mov eax, 1
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x10076a3e
cmp dword [ebp - 0x124], 0
je 0x100774a2
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
sub ecx, 1
mov dword [ebp - 0x1c], ecx
test eax, eax
jle 0x100774a0
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x58]
jae 0x10077481
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x1007749e
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x10077481
jmp 0x10077456
jmp 0x100774cf
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov ecx, dword [ebp + 8]
sub ecx, eax
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x58]
jae 0x100774cf
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
cmp dword [0x100fe990], 0
je 0x100775de
mov dword [ebp - 0x164], 1
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x5c]
sub ecx, dword [eax + 0x58]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
sub eax, dword [edx + 0x58]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x58]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
or ecx, eax
mov dword [ebp - 0x13c], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 4]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 5]
or edx, ecx
mov dword [ebp - 0x138], edx
mov eax, dword [ebp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x148], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x80]
mov dword [ebp - 0x140], edx
lea eax, [ebp - 0x164]
push eax
call dword [0x100fe990]
add esp, 4
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
jle 0x100775ca
xor eax, eax
jmp 0x10081b60
cmp dword [ebp - 0x128], 0
jge 0x100775de
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 6
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov ecx, dword [ebp + 0x18]
add eax, dword [ecx + 0x54]
mov dword [ebp - 0x130], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x130]
cmp eax, dword [edx + 0x54]
jne 0x10077625
mov dword [ebp - 0x4b8], 0
jmp 0x10077644
mov ecx, dword [ebp - 0x130]
movzx edx, byte [ecx + 3]
shl edx, 8
mov eax, dword [ebp - 0x130]
movzx ecx, byte [eax + 4]
or edx, ecx
mov dword [ebp - 0x4b8], edx
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x7c]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp + 0x18]
lea eax, [ebp - 0x50]
mov dword [edx + 0x7c], eax
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], 0x1e
jg 0x10077688
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x40], edx
jmp 0x100776aa
mov eax, dword [ebp - 0x3c]
shl eax, 2
push eax
call sym.glib_2.0.dll_g_try_malloc
add esp, 4
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x100776aa
mov eax, 0xfffffffa
jmp 0x10081b60
mov ecx, dword [ebp - 0x3c]
shl ecx, 2
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp + 8]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp - 0x130]
movzx edx, byte [ecx]
xor eax, eax
cmp edx, 0x61
setl al
sub eax, 1
and eax, 2
mov dword [ebp + 0x24], eax
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x24]
push edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x130]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x100943d8]
add ecx, dword [ebp - 0x130]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 1
jne 0x10077769
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x7c], ecx
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 0xc8]
cmp edx, eax
je 0x1007775d
mov ecx, dword [ebp - 0x40]
push ecx
call sym.glib_2.0.dll_g_free
add esp, 4
mov eax, 1
jmp 0x10081b60
cmp dword [ebp - 0x128], 0
je 0x10077789
cmp dword [ebp - 0x128], 0xfffffc1c
je 0x10077789
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp + 0x18]
lea eax, [ebp - 0x50]
mov dword [edx + 0x7c], eax
mov ecx, dword [ebp - 0x3c]
shl ecx, 2
push ecx
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
push ecx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x130]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x130]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0x130]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
movzx ecx, byte [eax]
cmp ecx, 0x54
je 0x100776ea
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x50]
mov dword [edx + 0x7c], eax
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0xc8]
cmp ecx, edx
je 0x10077805
mov eax, dword [ebp - 0x40]
push eax
call sym.glib_2.0.dll_g_free
add esp, 4
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 1
jne 0x1007785c
jmp 0x100778a4
cmp dword [ebp - 0x128], 0
je 0x1007787c
cmp dword [ebp - 0x128], 0xfffffc1c
je 0x1007787c
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x54
je 0x1007781b
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x5d
je 0x100778c1
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x54
je 0x100778c1
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x54
je 0x100778c1
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x68]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x64]
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x55
je 0x1007790d
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0xe4]
jne 0x1007791b
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
cmp eax, 0x19
jne 0x10077939
mov ecx, dword [ebp + 0x1c]
and ecx, 0xfffffff8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
or ecx, eax
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x57
jne 0x100779a2
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007798e
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp - 0x2c]
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x24], 0
jmp 0x100769cb
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
push 2
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x100779e9
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x24], 0
jmp 0x100769cb
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x54
je case.0x10076aa9.84
jmp 0x10081b5b
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10077a7d
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx]
cmp edx, 0x54
je 0x10077a7d
mov eax, dword [ebp - 0xd4]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x10081b5b
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
cmp ecx, 0x54
je 0x10077acd
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0xd4]
add edx, 3
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10077b4d
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx]
cmp edx, 0x54
je 0x10077b67
mov eax, dword [ebp - 0xd4]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x10081b5b
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov eax, dword [ebp + 0xc]
sub eax, edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x61
jl 0x10077be7
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp + 0x20]
mov eax, dword [edx]
mov dword [ebp + 0x20], eax
jmp 0x10077bf1
mov dword [ebp - 0xe4], 0
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x58
je 0x10077c28
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x59
je 0x10077c28
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x5a
je 0x10077c28
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x5b
je 0x10077c28
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x5d
jne 0x10077c44
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov dword [edx + 0x64], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov dword [ecx + 0x68], edx
mov eax, 1
jmp 0x10081b60
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x5f
je 0x10077c5e
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x62
jne 0x10077d7f
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 3]
shl edx, 8
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 4]
or edx, ecx
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 0x114]
shl edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x114]
mov dword [eax + 0x6c], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0xd0]
cmp eax, dword [edx + 0x14]
jl 0x10077cab
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x2c], 1
jmp 0x10077cff
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x10]
sub eax, dword [ebp - 0x114]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ebp - 0xd0]
mov edx, dword [edx + eax*4]
mov dword [ecx + esi*4], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0x58]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xd0]
mov dword [eax + edx*4 + 4], ecx
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0xd0]
jg 0x10077cff
mov ecx, dword [ebp - 0xd0]
add ecx, 2
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x7c], 0
je 0x10077d7f
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x7c]
mov edx, dword [ecx + 4]
cmp edx, dword [ebp - 0x114]
jne 0x10077d7f
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x7c]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax]
mov dword [edx + 0x7c], ecx
mov edx, dword [ebp - 0x168]
mov eax, dword [edx + 0xc]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp - 0x168]
mov edx, dword [ecx + 0x14]
shl edx, 2
push edx
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x168]
mov edx, dword [ecx + 8]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp + 0x1c], eax
jmp 0x10081b5b
mov ecx, dword [ebp - 0x11c]
mov dword [ebp + 0x1c], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x55
je 0x10077d9e
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0xe4]
jne 0x10077dac
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
xor edx, edx
cmp ecx, 0x61
setl dl
sub edx, 1
and edx, 2
mov dword [ebp + 0x24], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x57
jne 0x10077e6f
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 3
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10077e1c
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
cmp dword [ebp + 0x24], 0
je 0x10077e62
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x24]
push edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp - 0x2c]
mov dword [ebp + 0xc], ecx
jmp 0x100769cb
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10077eb8
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x24], 0
jmp 0x100769cb
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x30], 0
je 0x10077ee8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x58]
jne 0x10077ee8
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 0x1c]
and eax, 2
je case.0x10076aa9.1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x58]
je 0x10077ff7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
je 0x10077ff0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x10077f76
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x58]
jbe 0x10077f5e
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp + 0x18]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x58]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10002740
add esp, 0x14
test eax, eax
je 0x10077f5e
mov dword [ebp - 0x4bc], 1
jmp 0x10077f68
mov dword [ebp - 0x4bc], 0
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x4c0], eax
jmp 0x10077fe7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp + 0x18]
add edx, dword [eax + 0x1c]
cmp dword [ebp + 8], edx
jb 0x10077fd1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x1c]
neg edx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x20]
cmp ecx, eax
jne 0x10077fd1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x10077fc5
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x1c]
neg eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 1]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x21]
cmp edx, ecx
jne 0x10077fd1
mov dword [ebp - 0x4c4], 1
jmp 0x10077fdb
mov dword [ebp - 0x4c4], 0
mov edx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c0], edx
cmp dword [ebp - 0x4c0], 0
jne 0x10077ff7
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x10081b5b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x58]
je 0x10078017
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x10081b5b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp + 0x18]
add edx, dword [eax + 0x70]
cmp dword [ebp + 8], edx
je 0x1007803d
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 8]
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x10081b5b
mov ecx, dword [ebp + 0x1c]
and ecx, 2
je 0x10078172
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007814f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x100780de
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x100780c6
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp + 0x18]
add edx, 0x1c
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x100780c6
mov dword [ebp - 0x4c8], 1
jmp 0x100780d0
mov dword [ebp - 0x4c8], 0
mov edx, dword [ebp - 0x4c8]
mov dword [ebp - 0x4cc], edx
jmp 0x1007813d
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x5c]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp + 8], edx
ja 0x10078127
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x20]
cmp ecx, eax
jne 0x10078127
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x1007811b
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x21]
cmp eax, edx
jne 0x10078127
mov dword [ebp - 0x4d0], 1
jmp 0x10078131
mov dword [ebp - 0x4d0], 0
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x4cc], eax
cmp dword [ebp - 0x4cc], 0
jne 0x1007814d
xor eax, eax
jmp 0x10081b60
jmp 0x1007815f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x34], 0
je 0x1007815f
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x34], 0
je 0x10078182
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x40], 0
jne case.0x10076aa9.24
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
je 0x10078282
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x10078202
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x100781ea
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp + 0x18]
add edx, 0x1c
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x100781ea
mov dword [ebp - 0x4d4], 1
jmp 0x100781f4
mov dword [ebp - 0x4d4], 0
mov edx, dword [ebp - 0x4d4]
mov dword [ebp - 0x4d8], edx
jmp 0x10078261
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x5c]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp + 8], edx
ja 0x1007824b
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x20]
cmp ecx, eax
jne 0x1007824b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x1007823f
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x21]
cmp eax, edx
jne 0x1007824b
mov dword [ebp - 0x4dc], 1
jmp 0x10078255
mov dword [ebp - 0x4dc], 0
mov eax, dword [ebp - 0x4dc]
mov dword [ebp - 0x4d8], eax
cmp dword [ebp - 0x4d8], 0
je 0x1007827b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x5c]
sub eax, dword [edx + 0x1c]
cmp dword [ebp + 8], eax
je 0x10078282
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x100782a2
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
je 0x100783a3
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x10078323
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007830b
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp + 0x18]
add edx, 0x1c
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x1007830b
mov dword [ebp - 0x4e0], 1
jmp 0x10078315
mov dword [ebp - 0x4e0], 0
mov edx, dword [ebp - 0x4e0]
mov dword [ebp - 0x4e4], edx
jmp 0x10078382
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x5c]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp + 8], edx
ja 0x1007836c
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x20]
cmp ecx, eax
jne 0x1007836c
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x10078360
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x21]
cmp eax, edx
jne 0x1007836c
mov dword [ebp - 0x4e8], 1
jmp 0x10078376
mov dword [ebp - 0x4e8], 0
mov eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x4e4], eax
cmp dword [ebp - 0x4e4], 0
je 0x1007839c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x5c]
sub eax, dword [edx + 0x1c]
cmp dword [ebp + 8], eax
je 0x100783a3
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
cmp dword [ebp - 0x124], 0
je 0x1007862d
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x58]
jne 0x100783d8
mov dword [ebp - 0x120], 0
jmp 0x10078512
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x16c]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x1007840a
mov ecx, dword [ebp - 0x16c]
sub ecx, 1
mov dword [ebp - 0x16c], ecx
jmp 0x100783e4
mov edx, dword [ebp - 0x16c]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0xc0
jb 0x100784cf
mov ecx, dword [ebp - 0x10c]
and ecx, 0x3f
movzx edx, byte [ecx + 0x10094498]
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x178]
imul eax, eax, 6
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x10c]
and edx, dword [ecx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x174]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x170], 1
jmp 0x1007848a
mov eax, dword [ebp - 0x170]
add eax, 1
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
cmp ecx, dword [ebp - 0x178]
jg 0x100784cf
mov edx, dword [ebp - 0x174]
sub edx, 6
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x16c]
add eax, dword [ebp - 0x170]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x174]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
jmp 0x1007847b
cmp dword [ebp - 0x10c], 0x100
jae 0x100784fc
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x28]
mov edx, dword [ebp - 0x10c]
movzx eax, byte [ecx + edx]
and eax, 0x10
je 0x100784fc
mov dword [ebp - 0x4ec], 1
jmp 0x10078506
mov dword [ebp - 0x4ec], 0
mov ecx, dword [ebp - 0x4ec]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x10078529
mov dword [ebp - 0x28], 0
jmp 0x10078628
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x100785e8
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x184]
imul edx, edx, 6
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x180]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x17c], 1
jmp 0x100785a6
mov eax, dword [ebp - 0x17c]
add eax, 1
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x17c]
cmp ecx, dword [ebp - 0x184]
jg 0x100785e8
mov edx, dword [ebp - 0x180]
sub edx, 6
mov dword [ebp - 0x180], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x17c]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x180]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
jmp 0x10078597
cmp dword [ebp - 0x10c], 0x100
jae 0x10078615
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x28]
mov edx, dword [ebp - 0x10c]
movzx eax, byte [ecx + edx]
and eax, 0x10
je 0x10078615
mov dword [ebp - 0x4f0], 1
jmp 0x1007861f
mov dword [ebp - 0x4f0], 0
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0x28], ecx
jmp 0x100786af
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x58]
je 0x1007865a
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx - 1]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x28]
movzx edx, byte [ecx + edx]
and edx, 0x10
je 0x1007865a
mov dword [ebp - 0x4f4], 1
jmp 0x10078664
mov dword [ebp - 0x4f4], 0
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jae 0x1007869c
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x28]
movzx ecx, byte [eax + ecx]
and ecx, 0x10
je 0x1007869c
mov dword [ebp - 0x4f8], 1
jmp 0x100786a6
mov dword [ebp - 0x4f8], 0
mov edx, dword [ebp - 0x4f8]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
cmp ecx, 5
jne 0x100786d9
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, dword [ebp - 0x120]
sete cl
mov dword [ebp - 0x4fc], ecx
jmp 0x100786ed
mov edx, dword [ebp - 0x28]
xor eax, eax
cmp edx, dword [ebp - 0x120]
setne al
mov dword [ebp - 0x4fc], eax
cmp dword [ebp - 0x4fc], 0
je 0x100786fd
xor eax, eax
jmp 0x10081b60
jmp 0x10081b5b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x10078766
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007874e
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp + 0x18]
add edx, 0x1c
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x1007874e
mov dword [ebp - 0x500], 1
jmp 0x10078758
mov dword [ebp - 0x500], 0
mov edx, dword [ebp - 0x500]
mov dword [ebp - 0x504], edx
jmp 0x100787c5
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x5c]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp + 8], edx
ja 0x100787af
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x20]
cmp ecx, eax
jne 0x100787af
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x100787a3
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x21]
cmp eax, edx
jne 0x100787af
mov dword [ebp - 0x508], 1
jmp 0x100787b9
mov dword [ebp - 0x508], 0
mov eax, dword [ebp - 0x508]
mov dword [ebp - 0x504], eax
cmp dword [ebp - 0x504], 0
je case.0x10076aa9.13
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x5c]
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp edx, eax
jb 0x100787f2
xor eax, eax
jmp 0x10081b60
cmp dword [ebp - 0x124], 0
je 0x10078825
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x10078825
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x10078825
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x100787fb
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x5c]
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp eax, ecx
jb 0x10078850
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x10081b5b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x10078870
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x124], 0
je 0x10078938
cmp dword [ebp - 0x10c], 0xc0
jb 0x10078938
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x18c]
imul edx, edx, 6
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x188]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x18c]
sub ecx, 1
mov dword [ebp - 0x18c], ecx
test eax, eax
jle 0x10078938
mov edx, dword [ebp - 0x188]
sub edx, 6
mov dword [ebp - 0x188], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x188]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x100788e8
cmp dword [ebp - 0x10c], 0x100
jae 0x10078960
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x10c]
movzx ecx, byte [edx + eax]
and ecx, 4
je 0x10078960
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10078980
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x10078a48
cmp dword [ebp - 0x10c], 0xc0
jb 0x10078a48
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x194]
imul ecx, ecx, 6
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x190]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x194]
sub edx, 1
mov dword [ebp - 0x194], edx
test ecx, ecx
jle 0x10078a48
mov eax, dword [ebp - 0x190]
sub eax, 6
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x190]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x100789f8
cmp dword [ebp - 0x10c], 0x100
jae 0x10078a69
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x10c]
movzx ecx, byte [edx + eax]
and ecx, 4
jne 0x10078a70
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10078a90
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x10078b58
cmp dword [ebp - 0x10c], 0xc0
jb 0x10078b58
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x19c]
imul ecx, ecx, 6
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x198]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x19c]
sub edx, 1
mov dword [ebp - 0x19c], edx
test ecx, ecx
jle 0x10078b58
mov eax, dword [ebp - 0x198]
sub eax, 6
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x198]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10078b08
cmp dword [ebp - 0x10c], 0x100
jae 0x10078b80
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x10c]
movzx ecx, byte [edx + eax]
and ecx, 1
je 0x10078b80
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10078ba0
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x10078c68
cmp dword [ebp - 0x10c], 0xc0
jb 0x10078c68
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a4]
imul ecx, ecx, 6
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1a0]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1a4]
sub edx, 1
mov dword [ebp - 0x1a4], edx
test ecx, ecx
jle 0x10078c68
mov eax, dword [ebp - 0x1a0]
sub eax, 6
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x1a0]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10078c18
cmp dword [ebp - 0x10c], 0x100
jae 0x10078c89
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x10c]
movzx ecx, byte [edx + eax]
and ecx, 1
jne 0x10078c90
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10078cb0
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x10078d78
cmp dword [ebp - 0x10c], 0xc0
jb 0x10078d78
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1ac]
imul ecx, ecx, 6
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1a8]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1ac]
sub edx, 1
mov dword [ebp - 0x1ac], edx
test ecx, ecx
jle 0x10078d78
mov eax, dword [ebp - 0x1a8]
sub eax, 6
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x1a8]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10078d28
cmp dword [ebp - 0x10c], 0x100
jae 0x10078da0
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x10c]
movzx ecx, byte [edx + eax]
and ecx, 0x10
je 0x10078da0
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10078dc0
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x10078e88
cmp dword [ebp - 0x10c], 0xc0
jb 0x10078e88
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1b4]
imul ecx, ecx, 6
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1b0]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b4]
sub edx, 1
mov dword [ebp - 0x1b4], edx
test ecx, ecx
jle 0x10078e88
mov eax, dword [ebp - 0x1b0]
sub eax, 6
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x1b0]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10078e38
cmp dword [ebp - 0x10c], 0x100
jae 0x10078ea9
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x10c]
movzx ecx, byte [edx + eax]
and ecx, 0x10
jne 0x10078eb0
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10078ed0
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x10078f98
cmp dword [ebp - 0x10c], 0xc0
jb 0x10078f98
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
imul ecx, ecx, 6
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1b8]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1bc]
sub edx, 1
mov dword [ebp - 0x1bc], edx
test ecx, ecx
jle 0x10078f98
mov eax, dword [ebp - 0x1b8]
sub eax, 6
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x1b8]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10078f48
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x50c], ecx
cmp dword [ebp - 0x50c], 0xd
ja 0x10078fd3
cmp dword [ebp - 0x50c], 0xd
je 0x10078ffe
cmp dword [ebp - 0x50c], 0xa
je 0x1007901f
cmp dword [ebp - 0x50c], 0xa
jbe 0x10078ff7
cmp dword [ebp - 0x50c], 0xc
jbe 0x10079021
jmp 0x10078ff7
cmp dword [ebp - 0x50c], 0x85
je 0x10079021
cmp dword [ebp - 0x50c], 0x2027
jbe 0x10078ff7
cmp dword [ebp - 0x50c], 0x2029
jbe 0x10079021
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007901d
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0xa
jne 0x1007901d
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10079031
jmp 0x10079031
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x50], 0
je 0x10079031
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10079051
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x10079119
cmp dword [ebp - 0x10c], 0xc0
jb 0x10079119
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x1c4]
imul ecx, ecx, 6
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1c0]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1c4]
sub edx, 1
mov dword [ebp - 0x1c4], edx
test ecx, ecx
jle 0x10079119
mov eax, dword [ebp - 0x1c0]
sub eax, 6
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x1c0]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x100790c9
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x510], ecx
cmp dword [ebp - 0x510], 0x180e
ja 0x1007917b
cmp dword [ebp - 0x510], 0x180e
je 0x100791c7
cmp dword [ebp - 0x510], 0xa0
ja 0x1007916d
cmp dword [ebp - 0x510], 0xa0
je 0x100791c7
cmp dword [ebp - 0x510], 9
je 0x100791c7
cmp dword [ebp - 0x510], 0x20
je 0x100791c7
jmp 0x100791c5
cmp dword [ebp - 0x510], 0x1680
je 0x100791c7
jmp 0x100791c5
cmp dword [ebp - 0x510], 0x205f
ja 0x100791b9
cmp dword [ebp - 0x510], 0x205f
je 0x100791c7
cmp dword [ebp - 0x510], 0x2000
jb 0x100791c5
cmp dword [ebp - 0x510], 0x200a
jbe 0x100791c7
cmp dword [ebp - 0x510], 0x202f
je 0x100791c7
jmp 0x100791c5
cmp dword [ebp - 0x510], 0x3000
je 0x100791c7
jmp 0x100791ce
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x100791ee
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x100792b6
cmp dword [ebp - 0x10c], 0xc0
jb 0x100792b6
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
imul ecx, ecx, 6
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1c8]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1cc]
sub edx, 1
mov dword [ebp - 0x1cc], edx
test ecx, ecx
jle 0x100792b6
mov eax, dword [ebp - 0x1c8]
sub eax, 6
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x1c8]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10079266
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x514], ecx
cmp dword [ebp - 0x514], 0x180e
ja 0x10079318
cmp dword [ebp - 0x514], 0x180e
je 0x10079369
cmp dword [ebp - 0x514], 0xa0
ja 0x1007930a
cmp dword [ebp - 0x514], 0xa0
je 0x10079369
cmp dword [ebp - 0x514], 9
je 0x10079369
cmp dword [ebp - 0x514], 0x20
je 0x10079369
jmp 0x10079362
cmp dword [ebp - 0x514], 0x1680
je 0x10079369
jmp 0x10079362
cmp dword [ebp - 0x514], 0x205f
ja 0x10079356
cmp dword [ebp - 0x514], 0x205f
je 0x10079369
cmp dword [ebp - 0x514], 0x2000
jb 0x10079362
cmp dword [ebp - 0x514], 0x200a
jbe 0x10079369
cmp dword [ebp - 0x514], 0x202f
je 0x10079369
jmp 0x10079362
cmp dword [ebp - 0x514], 0x3000
je 0x10079369
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10079389
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x10079451
cmp dword [ebp - 0x10c], 0xc0
jb 0x10079451
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
imul ecx, ecx, 6
mov dword [ebp - 0x1d0], ecx
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1d0]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1d4]
sub edx, 1
mov dword [ebp - 0x1d4], edx
test ecx, ecx
jle 0x10079451
mov eax, dword [ebp - 0x1d0]
sub eax, 6
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x1d0]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10079401
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x518], ecx
cmp dword [ebp - 0x518], 0x85
ja 0x10079489
cmp dword [ebp - 0x518], 0x85
je 0x100794a3
cmp dword [ebp - 0x518], 0xa
jb 0x100794a1
cmp dword [ebp - 0x518], 0xd
jbe 0x100794a3
jmp 0x100794a1
cmp dword [ebp - 0x518], 0x2028
jb 0x100794a1
cmp dword [ebp - 0x518], 0x2029
jbe 0x100794a3
jmp 0x100794aa
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x100794ca
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x10079592
cmp dword [ebp - 0x10c], 0xc0
jb 0x10079592
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0x1dc]
imul ecx, ecx, 6
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1d8]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1dc]
sub edx, 1
mov dword [ebp - 0x1dc], edx
test ecx, ecx
jle 0x10079592
mov eax, dword [ebp - 0x1d8]
sub eax, 6
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x1d8]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10079542
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x51c], ecx
cmp dword [ebp - 0x51c], 0x85
ja 0x100795ca
cmp dword [ebp - 0x51c], 0x85
je 0x100795e9
cmp dword [ebp - 0x51c], 0xa
jb 0x100795e2
cmp dword [ebp - 0x51c], 0xd
jbe 0x100795e9
jmp 0x100795e2
cmp dword [ebp - 0x51c], 0x2028
jb 0x100795e2
cmp dword [ebp - 0x51c], 0x2029
jbe 0x100795e9
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x10081b5b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x10079609
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x100796d1
cmp dword [ebp - 0x10c], 0xc0
jb 0x100796d1
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e4]
imul ecx, ecx, 6
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1e0]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e4]
sub edx, 1
mov dword [ebp - 0x1e4], edx
test ecx, ecx
jle 0x100796d1
mov eax, dword [ebp - 0x1e0]
sub eax, 6
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x1e0]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10079681
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov dword [ebp - 0x1e8], eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
mov dword [ebp - 0x520], eax
cmp dword [ebp - 0x520], 4
ja case.default.0x10079706
mov ecx, dword [ebp - 0x520]
jmp dword [ecx*4 + 0x10081d08]
cmp dword [ebp - 0x110], 0xf
jne 0x1007971d
xor eax, eax
jmp 0x10081b60
jmp 0x10079810
cmp dword [ebp - 0x1e8], 9
je 0x10079749
cmp dword [ebp - 0x1e8], 5
je 0x10079749
cmp dword [ebp - 0x1e8], 8
je 0x10079749
mov dword [ebp - 0x524], 0
jmp 0x10079753
mov dword [ebp - 0x524], 1
xor edx, edx
cmp dword [ebp - 0x110], 0xf
sete dl
cmp dword [ebp - 0x524], edx
jne 0x1007976e
xor eax, eax
jmp 0x10081b60
jmp 0x10079810
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
mov edx, dword [ebp - 0x1e8]
xor eax, eax
cmp ecx, dword [edx*4 + 0x100944d8]
setne al
xor ecx, ecx
cmp dword [ebp - 0x110], 0x10
sete cl
cmp eax, ecx
jne 0x100797a3
xor eax, eax
jmp 0x10081b60
jmp 0x10079810
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
xor ecx, ecx
cmp eax, dword [ebp - 0x1e8]
setne cl
xor edx, edx
cmp dword [ebp - 0x110], 0x10
sete dl
cmp ecx, edx
jne 0x100797ce
xor eax, eax
jmp 0x10081b60
jmp 0x10079810
mov eax, dword [ebp + 0xc]
movzx esi, byte [eax + 2]
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_get_script
add esp, 4
xor edx, edx
cmp esi, eax
setne dl
xor eax, eax
cmp dword [ebp - 0x110], 0x10
sete al
cmp edx, eax
jne 0x10079804
xor eax, eax
jmp 0x10081b60
jmp 0x10079810
mov eax, 0xfffffff2
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x10079830
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x124], 0
je 0x100798f8
cmp dword [ebp - 0x10c], 0xc0
jb 0x100798f8
mov ecx, dword [ebp - 0x10c]
and ecx, 0x3f
movzx edx, byte [ecx + 0x10094498]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f0]
imul eax, eax, 6
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x10c]
and edx, dword [ecx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x1ec]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1f0]
sub ecx, 1
mov dword [ebp - 0x1f0], ecx
test eax, eax
jle 0x100798f8
mov edx, dword [ebp - 0x1ec]
sub edx, 6
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x1ec]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x100798a8
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov edx, dword [eax*4 + 0x100944d8]
mov dword [ebp - 0x1f4], edx
cmp dword [ebp - 0x1f4], 2
jne 0x10079924
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jae 0x10079a60
mov dword [ebp - 0x1f8], 1
cmp dword [ebp - 0x124], 0
jne 0x10079957
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
jmp 0x10079a28
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x10079a28
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x204]
imul edx, edx, 6
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x204]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x200]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x1fc], 1
jmp 0x100799d4
mov eax, dword [ebp - 0x1fc]
add eax, 1
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1fc]
cmp ecx, dword [ebp - 0x204]
jg 0x10079a16
mov edx, dword [ebp - 0x200]
sub edx, 6
mov dword [ebp - 0x200], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x1fc]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x200]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
jmp 0x100799c5
mov eax, dword [ebp - 0x1f8]
add eax, dword [ebp - 0x204]
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov edx, dword [eax*4 + 0x100944d8]
mov dword [ebp - 0x1f4], edx
cmp dword [ebp - 0x1f4], 2
je 0x10079a4f
jmp 0x10079a60
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x1f8]
mov dword [ebp + 8], eax
jmp 0x10079924
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
shl eax, 1
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [ebp + 0x14]
jge 0x10079aaf
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
cmp dword [eax + ecx*4], 0
jge 0x10079ae1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x3c], 0
je 0x10079ac4
mov dword [ebp - 0x528], 0
jmp 0x10079ad6
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x5c]
sub ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp - 0x528], ecx
mov edx, dword [ebp - 0x528]
mov dword [ebp - 8], edx
jmp 0x10079b03
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ecx + edx*4 + 4]
sub ecx, dword [eax + esi*4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
mov dword [ebp - 0x52c], eax
mov ecx, dword [ebp - 0x52c]
sub ecx, 0x46
mov dword [ebp - 0x52c], ecx
cmp dword [ebp - 0x52c], 7
ja case.default.0x10079b38
mov edx, dword [ebp - 0x52c]
movzx eax, byte [edx + 0x10081d24]
jmp dword [eax*4 + 0x10081d1c]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
sub edx, 0x46
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 0x10c]
and ecx, 1
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x10c]
movsx eax, byte [edx + 0x10094af0]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x10c]
movsx edx, byte [ecx + 0x10094af8]
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 0
jne 0x10079b9f
mov dword [ebp - 0x12c], closesocket
jmp 0x10079c33
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
xor edx, edx
cmp ecx, 0x4d
sete dl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 3]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 4]
or edx, ecx
mov dword [ebp - 0x12c], edx
jne 0x10079bf0
mov dword [ebp - 0x12c], closesocket
mov edx, dword [ebp + 0xc]
add edx, 5
mov dword [ebp + 0xc], edx
jmp 0x10079c33
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.10076780
add esp, 0x14
test eax, eax
jne 0x10079c25
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
add edx, dword [ebp - 8]
mov dword [ebp + 8], edx
jmp 0x10076a3e
cmp dword [ebp - 8], 0
jne 0x10079c3e
jmp 0x10076a3e
mov dword [ebp - 0x1c], 1
jmp 0x10079c50
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x10079c8d
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.10076780
add esp, 0x14
test eax, eax
jne 0x10079c82
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
mov dword [ebp + 8], ecx
jmp 0x10079c47
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x12c]
jne 0x10079c9d
jmp 0x10076a3e
cmp dword [ebp - 0x18], 0
je 0x10079d47
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x10079cb8
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10079cff
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x12c]
jge 0x10079d2d
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.10076780
add esp, 0x14
test eax, eax
jne 0x10079d34
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
mov dword [ebp + 8], ecx
jmp 0x10079caf
mov edx, dword [ebp + 8]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x10079d5e
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x12c]
jge 0x10079d99
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.10076780
add esp, 0x14
test eax, eax
jne 0x10079d8e
jmp 0x10079d99
mov edx, dword [ebp + 8]
add edx, dword [ebp - 8]
mov dword [ebp + 8], edx
jmp 0x10079d55
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x30]
jb 0x10079df3
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x10079de8
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 8]
mov dword [ebp + 8], eax
jmp 0x10079d99
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp + 0xc]
add edx, 0x21
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x530], ecx
mov edx, dword [ebp - 0x530]
sub edx, 0x46
mov dword [ebp - 0x530], edx
cmp dword [ebp - 0x530], 7
ja case.default.0x10079e44
mov eax, dword [ebp - 0x530]
movzx ecx, byte [eax + 0x10081d34]
jmp dword [ecx*4 + 0x10081d2c]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
sub eax, 0x46
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 0x10c]
and edx, 1
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10c]
movsx ecx, byte [eax + 0x10094af0]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x10c]
movsx eax, byte [edx + 0x10094af8]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
jne 0x10079eab
mov dword [ebp - 0x12c], closesocket
jmp 0x10079f17
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
xor eax, eax
cmp edx, 0x4d
sete al
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov dword [ebp - 0x24], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 4]
or eax, edx
mov dword [ebp - 0x12c], eax
jne 0x10079ef9
mov dword [ebp - 0x12c], closesocket
mov eax, dword [ebp + 0xc]
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x10079f17
mov dword [ebp - 0x12c], 1
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x124], 0
je 0x1007a062
mov dword [ebp - 0x1c], 1
jmp 0x10079f36
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007a060
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x10079f54
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007a00f
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x20c]
imul edx, edx, 6
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x208]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x20c]
sub ecx, 1
mov dword [ebp - 0x20c], ecx
test eax, eax
jle 0x1007a00f
mov edx, dword [ebp - 0x208]
sub edx, 6
mov dword [ebp - 0x208], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x208]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10079fbf
cmp dword [ebp - 0x10c], 0xff
jbe 0x1007a02d
cmp dword [ebp - 0x110], 0x4e
jne 0x1007a02b
xor eax, eax
jmp 0x10081b60
jmp 0x1007a05b
mov ecx, dword [ebp - 0x10c]
shr ecx, 3
mov edx, dword [ebp - 0xec]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x10c]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x1007a05b
xor eax, eax
jmp 0x10081b60
jmp 0x10079f2d
jmp 0x1007a0d3
mov dword [ebp - 0x1c], 1
jmp 0x1007a074
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x1007a0d3
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x1007a08e
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x10c]
shr ecx, 3
mov edx, dword [ebp - 0xec]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x10c]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x1007a0d1
xor eax, eax
jmp 0x10081b60
jmp 0x1007a06b
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x12c]
jne 0x1007a0e3
jmp 0x10076a3e
cmp dword [ebp - 0x18], 0
je 0x1007a342
cmp dword [ebp - 0x124], 0
je 0x1007a280
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
jmp 0x1007a10b
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007a152
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x12c]
jge 0x1007a168
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007a16f
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007a22a
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
imul ecx, ecx, 6
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x210]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x214]
sub edx, 1
mov dword [ebp - 0x214], edx
test ecx, ecx
jle 0x1007a22a
mov eax, dword [ebp - 0x210]
sub eax, 6
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x210]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007a1da
cmp dword [ebp - 0x10c], 0xff
jbe 0x1007a248
cmp dword [ebp - 0x110], 0x4e
jne 0x1007a246
xor eax, eax
jmp 0x10081b60
jmp 0x1007a276
mov ecx, dword [ebp - 0x10c]
shr ecx, 3
mov edx, dword [ebp - 0xec]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x10c]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x1007a276
xor eax, eax
jmp 0x10081b60
jmp 0x1007a102
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x1007a291
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007a2d8
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x12c]
jge 0x1007a2ee
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x1007a2f5
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x10c]
shr ecx, 3
mov edx, dword [ebp - 0xec]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x10c]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x1007a338
xor eax, eax
jmp 0x10081b60
jmp 0x1007a288
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x124], 0
je 0x1007a535
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
jmp 0x1007a366
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x12c]
jge 0x1007a4b3
mov dword [ebp - 0x218], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x1007a38f
jmp 0x1007a4b3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007a460
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
imul ecx, ecx, 6
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x220]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x21c], 1
jmp 0x1007a40c
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x21c]
cmp edx, dword [ebp - 0x224]
jg 0x1007a44e
mov eax, dword [ebp - 0x220]
sub eax, 6
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x21c]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x220]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
jmp 0x1007a3fd
mov eax, dword [ebp - 0x218]
add eax, dword [ebp - 0x224]
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x10c], 0xff
jbe 0x1007a479
cmp dword [ebp - 0x110], 0x4e
jne 0x1007a477
jmp 0x1007a4b3
jmp 0x1007a4a2
mov ecx, dword [ebp - 0x10c]
shr ecx, 3
mov edx, dword [ebp - 0xec]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x10c]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x1007a4a2
jmp 0x1007a4b3
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x218]
mov dword [ebp + 8], eax
jmp 0x1007a35d
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007a4fa
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
cmp eax, ecx
jne 0x1007a50f
jmp 0x1007a530
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x1007a52e
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x1007a50f
jmp 0x1007a4b3
jmp 0x1007a5f8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x1007a546
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x12c]
jge 0x1007a59e
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007a55e
jmp 0x1007a59e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x10c]
shr ecx, 3
mov edx, dword [ebp - 0xec]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x10c]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x1007a593
jmp 0x1007a59e
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007a53d
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x30]
jb 0x1007a5f8
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007a5ed
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x1007a59e
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp - 0xec], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov dword [ebp - 0x534], edx
mov eax, dword [ebp - 0x534]
sub eax, 0x46
mov dword [ebp - 0x534], eax
cmp dword [ebp - 0x534], 7
ja case.default.0x1007a659
mov ecx, dword [ebp - 0x534]
movzx edx, byte [ecx + 0x10081d44]
jmp dword [edx*4 + 0x10081d3c]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
sub ecx, 0x46
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x10c]
and eax, 1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10c]
movsx edx, byte [ecx + 0x10094af0]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10c]
movsx ecx, byte [eax + 0x10094af8]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
jne 0x1007a6c0
mov dword [ebp - 0x12c], closesocket
jmp 0x1007a72c
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
xor ecx, ecx
cmp eax, 0x4d
sete cl
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
or ecx, eax
mov dword [ebp - 0x12c], ecx
jne 0x1007a70e
mov dword [ebp - 0x12c], closesocket
mov ecx, dword [ebp + 0xc]
add ecx, 5
mov dword [ebp + 0xc], ecx
jmp 0x1007a72c
mov dword [ebp - 0x12c], 1
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 1
jmp 0x1007a73e
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x1007a83d
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x1007a75c
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007a817
mov ecx, dword [ebp - 0x10c]
and ecx, 0x3f
movzx edx, byte [ecx + 0x10094498]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
imul eax, eax, 6
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x10c]
and edx, dword [ecx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x228]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x22c]
sub ecx, 1
mov dword [ebp - 0x22c], ecx
test eax, eax
jle 0x1007a817
mov edx, dword [ebp - 0x228]
sub edx, 6
mov dword [ebp - 0x228], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x228]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007a7c7
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
call fcn.10083540
add esp, 8
test eax, eax
jne 0x1007a838
xor eax, eax
jmp 0x10081b60
jmp 0x1007a735
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x12c]
jne 0x1007a84d
jmp 0x10076a3e
cmp dword [ebp - 0x18], 0
je 0x1007a9b2
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
jmp 0x1007a868
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007a8af
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x12c]
jge 0x1007a8c5
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007a8cc
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007a987
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
imul ecx, ecx, 6
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x230]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x234]
sub edx, 1
mov dword [ebp - 0x234], edx
test ecx, ecx
jle 0x1007a987
mov eax, dword [ebp - 0x230]
sub eax, 6
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x230]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007a937
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
call fcn.10083540
add esp, 8
test eax, eax
jne 0x1007a9a8
xor eax, eax
jmp 0x10081b60
jmp 0x1007a85f
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
jmp 0x1007a9c9
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x12c]
jge 0x1007aaf0
mov dword [ebp - 0x238], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x1007a9f2
jmp 0x1007aaf0
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007aac3
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x244]
imul ecx, ecx, 6
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x240]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x23c], 1
jmp 0x1007aa6f
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x23c]
cmp edx, dword [ebp - 0x244]
jg 0x1007aab1
mov eax, dword [ebp - 0x240]
sub eax, 6
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x23c]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x240]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
jmp 0x1007aa60
mov eax, dword [ebp - 0x238]
add eax, dword [ebp - 0x244]
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
call fcn.10083540
add esp, 8
test eax, eax
jne 0x1007aadf
jmp 0x1007aaf0
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x238]
mov dword [ebp + 8], eax
jmp 0x1007a9c0
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007ab37
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
cmp eax, ecx
jne 0x1007ab4c
jmp 0x1007ab79
cmp dword [ebp - 0x124], 0
je 0x1007ab74
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x1007ab74
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x1007ab55
jmp 0x1007aaf0
xor eax, eax
jmp 0x10081b60
cmp dword [ebp - 0x124], 0
je 0x1007acba
mov dword [ebp - 8], 1
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007ac68
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0x250]
imul edx, edx, 6
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x250]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x24c]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x248], 1
jmp 0x1007ac1a
mov eax, dword [ebp - 0x248]
add eax, 1
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x248]
cmp ecx, dword [ebp - 0x250]
jg 0x1007ac5c
mov edx, dword [ebp - 0x24c]
sub edx, 6
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x248]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x24c]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
jmp 0x1007ac0b
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x250]
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x5c]
sub edx, dword [ebp + 8]
cmp dword [ebp - 8], edx
jle 0x1007ac7d
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
test eax, eax
jle 0x1007acb8
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
cmp edx, eax
je 0x1007acb6
xor eax, eax
jmp 0x10081b60
jmp 0x1007ac7d
jmp 0x1007acf9
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x5c]
sub eax, dword [ebp + 8]
cmp eax, 1
jge 0x1007accf
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp ecx, edx
je 0x1007acf0
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, 2
mov dword [ebp + 0xc], ecx
jmp 0x10081b5b
cmp dword [ebp - 0x124], 0
je 0x1007af3b
mov dword [ebp - 8], 1
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007ade6
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x25c]
imul ecx, ecx, 6
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x258]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x254], 1
jmp 0x1007ad98
mov ecx, dword [ebp - 0x254]
add ecx, 1
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
cmp edx, dword [ebp - 0x25c]
jg 0x1007adda
mov eax, dword [ebp - 0x258]
sub eax, 6
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x254]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x258]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
jmp 0x1007ad89
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x25c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x5c]
sub edx, dword [ebp + 8]
cmp dword [ebp - 8], edx
jle 0x1007adfb
xor eax, eax
jmp 0x10081b60
cmp dword [ebp - 0x10c], 0x80
jae 0x1007ae49
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x24]
movzx ecx, byte [eax + ecx]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx + 0x24]
movzx eax, byte [edx + eax]
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
cmp eax, ecx
je 0x1007ae44
xor eax, eax
jmp 0x10081b60
jmp 0x1007af39
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x260], 0xc0
jb 0x1007af04
mov eax, dword [ebp - 0x260]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x268], ecx
mov edx, dword [ebp - 0x268]
imul edx, edx, 6
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x264]
shl edx, cl
mov dword [ebp - 0x260], edx
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x268]
sub ecx, 1
mov dword [ebp - 0x268], ecx
test eax, eax
jle 0x1007af04
mov edx, dword [ebp - 0x264]
sub edx, 6
mov dword [ebp - 0x264], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x264]
shl edx, cl
or edx, dword [ebp - 0x260]
mov dword [ebp - 0x260], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007aeb4
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 8]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x260]
je 0x1007af39
mov eax, dword [ebp - 0x10c]
push eax
call fcn.10076490
add esp, 4
cmp dword [ebp - 0x260], eax
je 0x1007af39
xor eax, eax
jmp 0x10081b60
jmp 0x1007af8e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x5c]
sub edx, dword [ebp + 8]
cmp edx, 1
jge 0x1007af50
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x24]
movzx ecx, byte [eax + ecx]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx + 0x24]
movzx eax, byte [edx + eax]
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp eax, ecx
je 0x1007af85
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 0xc]
add eax, 2
mov dword [ebp + 0xc], eax
jmp 0x10081b5b
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x1007b0e4
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
xor ecx, ecx
cmp eax, 0x26
sete cl
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x1007b0e4
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x12c], closesocket
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x1007b0e4
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x12c], closesocket
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x1007b0e4
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x12c], 1
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x1007b0e4
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
sub ecx, 0x1f
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x10c]
and eax, 1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10c]
movsx edx, byte [ecx + 0x10094af0]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10c]
movsx ecx, byte [eax + 0x10094af8]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
jne 0x1007b0e4
mov dword [ebp - 0x12c], closesocket
cmp dword [ebp - 0x124], 0
je 0x1007b4d6
mov dword [ebp - 8], 1
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007b1cc
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
imul ecx, ecx, 6
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x270]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x26c], 1
jmp 0x1007b17e
mov ecx, dword [ebp - 0x26c]
add ecx, 1
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x26c]
cmp edx, dword [ebp - 0x274]
jg 0x1007b1c0
mov eax, dword [ebp - 0x270]
sub eax, 6
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x26c]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x270]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
jmp 0x1007b16f
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x274]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x24]
imul ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x5c]
sub eax, dword [ebp + 8]
cmp ecx, eax
jle 0x1007b1e7
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 8]
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 8], 1
jle 0x1007b4d4
mov edx, dword [ebp + 0x1c]
and edx, 1
je 0x1007b240
mov eax, dword [ebp - 0x10c]
push eax
call fcn.10076490
add esp, 4
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x278]
cmp ecx, dword [ebp - 0x10c]
je 0x1007b240
lea edx, [ebp - 0x100]
push edx
mov eax, dword [ebp - 0x278]
push eax
call fcn.100026a0
add esp, 8
mov dword [ebp - 0x10], eax
jmp 0x1007b247
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], 1
jmp 0x1007b259
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007b2c3
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xf0]
push ecx
mov edx, dword [ebp + 8]
push edx
call sub.MSVCR90.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1007b287
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
mov dword [ebp + 8], eax
jmp 0x1007b2c1
cmp dword [ebp - 0x10], 0
jne 0x1007b296
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp - 0x100]
push edx
mov eax, dword [ebp + 8]
push eax
call sub.MSVCR90.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007b2b8
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x10]
mov dword [ebp + 8], ecx
jmp 0x1007b250
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x12c]
jne 0x1007b2d3
jmp 0x10076a3e
cmp dword [ebp - 0x18], 0
je 0x1007b3bc
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x1007b2ee
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007b335
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x12c]
jge 0x1007b34b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x1007b352
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xf0]
push edx
mov eax, dword [ebp + 8]
push eax
call sub.MSVCR90.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1007b378
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
mov dword [ebp + 8], ecx
jmp 0x1007b3b2
cmp dword [ebp - 0x10], 0
jne 0x1007b387
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x100]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.MSVCR90.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007b3a9
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x10]
mov dword [ebp + 8], edx
jmp 0x1007b2e5
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
jmp 0x1007b3d3
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x12c]
jge 0x1007b446
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x5c]
sub edx, dword [ebp - 8]
cmp dword [ebp + 8], edx
jbe 0x1007b3ee
jmp 0x1007b446
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xf0]
push ecx
mov edx, dword [ebp + 8]
push edx
call sub.MSVCR90.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1007b414
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
mov dword [ebp + 8], eax
jmp 0x1007b444
cmp dword [ebp - 0x10], 0
jne 0x1007b41e
jmp 0x1007b446
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp - 0x100]
push edx
mov eax, dword [ebp + 8]
push eax
call sub.MSVCR90.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007b43b
jmp 0x1007b446
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x10]
mov dword [ebp + 8], ecx
jmp 0x1007b3ca
cmp dword [ebp - 0x108], 0
je 0x1007b454
jmp 0x10076a3e
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007b49b
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x30]
jne 0x1007b4aa
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x1007b4d2
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x1007b4b3
jmp 0x1007b454
jmp 0x1007b500
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x5c]
sub ecx, dword [ebp + 8]
cmp dword [ebp - 0x24], ecx
jle 0x1007b4eb
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0x1c]
and edx, 1
je 0x1007b6ea
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0x10c]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x1c], 1
jmp 0x1007b534
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007b568
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x24]
movzx ecx, byte [eax + ecx]
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp edx, ecx
je 0x1007b566
xor eax, eax
jmp 0x10081b60
jmp 0x1007b52b
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x12c]
jne 0x1007b578
jmp 0x10076a3e
cmp dword [ebp - 0x18], 0
je 0x1007b624
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x1007b593
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007b5da
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x12c]
jge 0x1007b613
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jae 0x1007b613
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x24]
movzx ecx, byte [eax + ecx]
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp edx, ecx
je 0x1007b61a
xor eax, eax
jmp 0x10081b60
jmp 0x1007b58a
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x1007b63b
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x12c]
jge 0x1007b676
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007b669
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x24]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 0x10c], edx
je 0x1007b66b
jmp 0x1007b676
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007b632
cmp dword [ebp - 0x108], 0
je 0x1007b684
jmp 0x10076a3e
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x30]
jb 0x1007b6de
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x128], 0
je 0x1007b6dc
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
jmp 0x1007b684
xor eax, eax
jmp 0x10081b60
mov dword [ebp - 0x1c], 1
jmp 0x1007b6fc
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007b726
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x1007b724
xor eax, eax
jmp 0x10081b60
jmp 0x1007b6f3
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x12c]
jne 0x1007b736
jmp 0x10076a3e
cmp dword [ebp - 0x18], 0
je 0x1007b7d8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x1007b751
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007b798
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x12c]
jge 0x1007b7c7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007b7c7
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x1007b7ce
xor eax, eax
jmp 0x10081b60
jmp 0x1007b748
mov edx, dword [ebp + 8]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x1007b7ef
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x12c]
jge 0x1007b820
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jae 0x1007b813
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp dword [ebp - 0x10c], eax
je 0x1007b815
jmp 0x1007b820
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x1007b7e6
cmp dword [ebp - 0x108], 0
je 0x1007b82e
jmp 0x10076a3e
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x30]
jb 0x1007b888
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x128], 0
je 0x1007b886
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
jmp 0x1007b82e
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007b8a1
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x124], 0
je 0x1007b972
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007b972
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x280]
imul edx, edx, 6
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x280]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x27c]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x280]
sub ecx, 1
mov dword [ebp - 0x280], ecx
test eax, eax
jle 0x1007b972
mov edx, dword [ebp - 0x27c]
sub edx, 6
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x27c]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007b922
mov ecx, dword [ebp + 0x1c]
and ecx, 1
je 0x1007b9c8
cmp dword [ebp - 0x10c], 0x100
jae 0x1007b99c
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x24]
mov ecx, dword [ebp - 0x10c]
movzx edx, byte [eax + ecx]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x24]
movzx ecx, byte [eax + ecx]
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
cmp ecx, edx
jne 0x1007b9c6
xor eax, eax
jmp 0x10081b60
jmp 0x1007b9e8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
cmp edx, eax
jne 0x1007b9e8
xor eax, eax
jmp 0x10081b60
jmp 0x10081b5b
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x1007bb6c
mov dword [ebp - 0x24], 0
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
xor edx, edx
cmp ecx, 0x33
sete dl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x1007bb6c
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x12c], closesocket
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x1007bb6c
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x12c], closesocket
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x1007bb6c
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x12c], 1
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x1007bb6c
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x1007bb6c
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
sub ecx, 0x2c
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x10c]
and eax, 1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10c]
movsx edx, byte [ecx + 0x10094af0]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10c]
movsx ecx, byte [eax + 0x10094af8]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
jne 0x1007bb6c
mov dword [ebp - 0x12c], closesocket
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x5c]
sub eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x1007bb81
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0x1c]
and ecx, 1
je 0x1007c20d
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x24]
mov ecx, dword [ebp - 0x10c]
movzx edx, byte [eax + ecx]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x124], 0
je 0x1007bcdc
mov dword [ebp - 0x1c], 1
jmp 0x1007bbd7
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x1007bcda
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x284], 0xc0
jb 0x1007bc9e
mov edx, dword [ebp - 0x284]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0x28c]
imul ecx, ecx, 6
mov dword [ebp - 0x288], ecx
mov edx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x284]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x288]
shl eax, cl
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x28c]
sub edx, 1
mov dword [ebp - 0x28c], edx
test ecx, ecx
jle 0x1007bc9e
mov eax, dword [ebp - 0x288]
sub eax, 6
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x288]
shl edx, cl
or edx, dword [ebp - 0x284]
mov dword [ebp - 0x284], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007bc4e
cmp dword [ebp - 0x284], 0x100
jae 0x1007bcc0
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp - 0x284]
movzx ecx, byte [edx + eax]
mov dword [ebp - 0x284], ecx
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x284]
jne 0x1007bcd5
xor eax, eax
jmp 0x10081b60
jmp 0x1007bbce
jmp 0x1007bd22
mov dword [ebp - 0x1c], 1
jmp 0x1007bcee
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x1007bd22
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x24]
movzx eax, byte [edx + eax]
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp ecx, eax
jne 0x1007bd20
xor eax, eax
jmp 0x10081b60
jmp 0x1007bce5
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x12c]
jne 0x1007bd32
jmp 0x10076a3e
cmp dword [ebp - 0x18], 0
je 0x1007bf5c
cmp dword [ebp - 0x124], 0
je 0x1007beba
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
jmp 0x1007bd5a
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007bda1
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x12c]
jge 0x1007bdb7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007bdbe
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x290], 0xc0
jb 0x1007be79
mov edx, dword [ebp - 0x290]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x298]
imul ecx, ecx, 6
mov dword [ebp - 0x294], ecx
mov edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x290]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x294]
shl eax, cl
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp - 0x298]
mov edx, dword [ebp - 0x298]
sub edx, 1
mov dword [ebp - 0x298], edx
test ecx, ecx
jle 0x1007be79
mov eax, dword [ebp - 0x294]
sub eax, 6
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x294]
shl edx, cl
or edx, dword [ebp - 0x290]
mov dword [ebp - 0x290], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007be29
cmp dword [ebp - 0x290], 0x100
jae 0x1007be9b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp - 0x290]
movzx ecx, byte [edx + eax]
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x290]
jne 0x1007beb0
xor eax, eax
jmp 0x10081b60
jmp 0x1007bd51
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x1007becb
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007bf12
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x12c]
jge 0x1007bf4b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007bf4b
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x24]
movzx edx, byte [ecx + edx]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp eax, edx
jne 0x1007bf52
xor eax, eax
jmp 0x10081b60
jmp 0x1007bec2
mov edx, dword [ebp + 8]
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x124], 0
je 0x1007c14d
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x1007bf80
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x12c]
jge 0x1007c0bd
mov dword [ebp - 0x2a0], 1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007bfa9
jmp 0x1007c0bd
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0xc0
jb 0x1007c07a
mov ecx, dword [ebp - 0x29c]
and ecx, 0x3f
movzx edx, byte [ecx + 0x10094498]
mov dword [ebp - 0x2ac], edx
mov eax, dword [ebp - 0x2ac]
imul eax, eax, 6
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x29c]
and edx, dword [ecx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x2a8]
shl edx, cl
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x2a4], 1
jmp 0x1007c026
mov eax, dword [ebp - 0x2a4]
add eax, 1
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
cmp ecx, dword [ebp - 0x2ac]
jg 0x1007c068
mov edx, dword [ebp - 0x2a8]
sub edx, 6
mov dword [ebp - 0x2a8], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x2a4]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x2a8]
shl edx, cl
or edx, dword [ebp - 0x29c]
mov dword [ebp - 0x29c], edx
jmp 0x1007c017
mov eax, dword [ebp - 0x2a0]
add eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x29c], 0x100
jae 0x1007c09c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp - 0x29c]
movzx ecx, byte [edx + eax]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x29c]
jne 0x1007c0ac
jmp 0x1007c0bd
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x2a0]
mov dword [ebp + 8], eax
jmp 0x1007bf77
cmp dword [ebp - 0x108], 0
je 0x1007c0cb
jmp 0x10076a3e
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007c112
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
cmp eax, ecx
jne 0x1007c127
jmp 0x1007c148
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x1007c146
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x1007c127
jmp 0x1007c0cb
jmp 0x1007c201
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x1007c15e
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x12c]
jge 0x1007c199
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jae 0x1007c18c
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x10c], eax
jne 0x1007c18e
jmp 0x1007c199
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x1007c155
cmp dword [ebp - 0x108], 0
je 0x1007c1a7
jmp 0x10076a3e
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x30]
jb 0x1007c201
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007c1f6
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x1007c1a7
xor eax, eax
jmp 0x10081b60
cmp dword [ebp - 0x124], 0
je 0x1007c30f
mov dword [ebp - 0x1c], 1
jmp 0x1007c22c
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x1007c30d
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x2b0], 0xc0
jb 0x1007c2f3
mov edx, dword [ebp - 0x2b0]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
imul ecx, ecx, 6
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2b0]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x2b4]
shl eax, cl
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x2b8]
sub edx, 1
mov dword [ebp - 0x2b8], edx
test ecx, ecx
jle 0x1007c2f3
mov eax, dword [ebp - 0x2b4]
sub eax, 6
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x2b4]
shl edx, cl
or edx, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007c2a3
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp - 0x2b0]
jne 0x1007c308
xor eax, eax
jmp 0x10081b60
jmp 0x1007c223
jmp 0x1007c34b
mov dword [ebp - 0x1c], 1
jmp 0x1007c321
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007c34b
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp eax, edx
jne 0x1007c349
xor eax, eax
jmp 0x10081b60
jmp 0x1007c318
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x12c]
jne 0x1007c35b
jmp 0x10076a3e
cmp dword [ebp - 0x18], 0
je 0x1007c559
cmp dword [ebp - 0x124], 0
je 0x1007c4c1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x1007c383
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007c3ca
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x12c]
jge 0x1007c3e0
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x1007c3e7
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x2bc], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x2bc], 0xc0
jb 0x1007c4a2
mov ecx, dword [ebp - 0x2bc]
and ecx, 0x3f
movzx edx, byte [ecx + 0x10094498]
mov dword [ebp - 0x2c4], edx
mov eax, dword [ebp - 0x2c4]
imul eax, eax, 6
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2bc]
and edx, dword [ecx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x2c0]
shl edx, cl
mov dword [ebp - 0x2bc], edx
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2c4]
sub ecx, 1
mov dword [ebp - 0x2c4], ecx
test eax, eax
jle 0x1007c4a2
mov edx, dword [ebp - 0x2c0]
sub edx, 6
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x2c0]
shl edx, cl
or edx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2bc], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007c452
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp - 0x2bc]
jne 0x1007c4b7
xor eax, eax
jmp 0x10081b60
jmp 0x1007c37a
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x1007c4d2
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 0x28]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007c519
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x12c]
jge 0x1007c548
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jae 0x1007c548
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp edx, ecx
jne 0x1007c54f
xor eax, eax
jmp 0x10081b60
jmp 0x1007c4c9
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x124], 0
je 0x1007c726
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x1007c57d
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x12c]
jge 0x1007c698
mov dword [ebp - 0x2cc], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x1007c5a6
jmp 0x1007c698
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x2c8], edx
cmp dword [ebp - 0x2c8], 0xc0
jb 0x1007c677
mov eax, dword [ebp - 0x2c8]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x2d8]
imul edx, edx, 6
mov dword [ebp - 0x2d4], edx
mov eax, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x2c8]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x2d4]
shl edx, cl
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2d0], 1
jmp 0x1007c623
mov eax, dword [ebp - 0x2d0]
add eax, 1
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
jg 0x1007c665
mov edx, dword [ebp - 0x2d4]
sub edx, 6
mov dword [ebp - 0x2d4], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x2d0]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x2d4]
shl edx, cl
or edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2c8], edx
jmp 0x1007c614
mov eax, dword [ebp - 0x2cc]
add eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp - 0x2c8]
jne 0x1007c687
jmp 0x1007c698
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x2cc]
mov dword [ebp + 8], edx
jmp 0x1007c574
cmp dword [ebp - 0x108], 0
je 0x1007c6a6
jmp 0x10076a3e
mov eax, dword [ebp + 0x28]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007c6ed
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
cmp edx, eax
jne 0x1007c702
jmp 0x1007c721
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x1007c71f
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x1007c702
jmp 0x1007c6a6
jmp 0x1007c7d0
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x1007c737
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x12c]
jge 0x1007c768
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007c75b
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp dword [ebp - 0x10c], edx
jne 0x1007c75d
jmp 0x1007c768
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007c72e
cmp dword [ebp - 0x108], 0
je 0x1007c776
jmp 0x10076a3e
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x30]
jb 0x1007c7d0
mov edx, dword [ebp + 0x28]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100769a0
add esp, 0x24
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x1007c7c5
mov eax, dword [ebp - 0x128]
jmp 0x10081b60
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x1007c776
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], 1
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x1007c95d
mov dword [ebp - 0x24], 0
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
xor edx, edx
cmp ecx, 0x40
sete dl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x1007c95d
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x12c], closesocket
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x1007c95d
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x12c], closesocket
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x1007c95d
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x12c], 1
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x1007c95d
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x1007c95d
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
sub ecx, 0x39
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x10c]
and eax, 1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10c]
movsx edx, byte [ecx + 0x10094af0]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10c]
movsx ecx, byte [eax + 0x10094af8]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
jne 0x1007c95d
mov dword [ebp - 0x12c], closesocket
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0xc], 0x10
je 0x1007c97b
cmp dword [ebp - 0xc], 0xf
jne 0x1007c9b3
xor edx, edx
cmp dword [ebp - 0xc], 0xf
sete dl
mov dword [ebp - 0x104], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x1007c9ba
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x5c]
sub ecx, dword [ebp + 8]
cmp dword [ebp - 0x24], ecx
jle 0x1007c9cf
xor eax, eax
jmp 0x10081b60
cmp dword [ebp - 0x24], 0
jle 0x1007e4d4
cmp dword [ebp - 0x34], 0
jl 0x1007d021
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x538], edx
cmp dword [ebp - 0x538], 4
ja case.default.0x1007c9ff
mov eax, dword [ebp - 0x538]
jmp dword [eax*4 + 0x10081d4c]
cmp dword [ebp - 0x104], 0
je 0x1007ca16
xor eax, eax
jmp 0x10081b60
mov dword [ebp - 0x1c], 1
jmp 0x1007ca28
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007cb13
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007ca46
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x1007cb0e
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007cb0e
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x2e0]
imul ecx, ecx, 6
mov dword [ebp - 0x2dc], ecx
mov edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x2dc]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x2e0]
mov edx, dword [ebp - 0x2e0]
sub edx, 1
mov dword [ebp - 0x2e0], edx
test ecx, ecx
jle 0x1007cb0e
mov eax, dword [ebp - 0x2dc]
sub eax, 6
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x2dc]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007cabe
jmp 0x1007ca1f
jmp 0x1007d01c
mov dword [ebp - 0x1c], 1
jmp 0x1007cb2a
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007cc70
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007cb48
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x1007cc10
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007cc10
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x2e8]
imul ecx, ecx, 6
mov dword [ebp - 0x2e4], ecx
mov edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x2e4]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2e8]
sub edx, 1
mov dword [ebp - 0x2e8], edx
test ecx, ecx
jle 0x1007cc10
mov eax, dword [ebp - 0x2e4]
sub eax, 6
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x2e4]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007cbc0
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 9
je 0x1007cc4c
cmp dword [ebp - 0x118], 5
je 0x1007cc4c
cmp dword [ebp - 0x118], 8
je 0x1007cc4c
mov dword [ebp - 0x53c], 0
jmp 0x1007cc56
mov dword [ebp - 0x53c], 1
mov edx, dword [ebp - 0x53c]
cmp edx, dword [ebp - 0x104]
jne 0x1007cc6b
xor eax, eax
jmp 0x10081b60
jmp 0x1007cb21
jmp 0x1007d01c
mov dword [ebp - 0x1c], 1
jmp 0x1007cc87
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x1007cda8
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x1007cca5
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x124], 0
je 0x1007cd6d
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007cd6d
mov ecx, dword [ebp - 0x10c]
and ecx, 0x3f
movzx edx, byte [ecx + 0x10094498]
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x2f0]
imul eax, eax, 6
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x10c]
and edx, dword [ecx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x2ec]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x2f0]
sub ecx, 1
mov dword [ebp - 0x2f0], ecx
test eax, eax
jle 0x1007cd6d
mov edx, dword [ebp - 0x2ec]
sub edx, 6
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x2ec]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007cd1d
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov edx, dword [eax*4 + 0x100944d8]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, dword [ebp - 0xe0]
sete cl
cmp ecx, dword [ebp - 0x104]
jne 0x1007cda3
xor eax, eax
jmp 0x10081b60
jmp 0x1007cc7e
jmp 0x1007d01c
mov dword [ebp - 0x1c], 1
jmp 0x1007cdbf
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007cedf
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x1007cddd
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x124], 0
je 0x1007cea5
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007cea5
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x2f8]
imul edx, edx, 6
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x2f4]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2f8]
sub ecx, 1
mov dword [ebp - 0x2f8], ecx
test eax, eax
jle 0x1007cea5
mov edx, dword [ebp - 0x2f4]
sub edx, 6
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x2f4]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007ce55
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x118]
xor eax, eax
cmp edx, dword [ebp - 0xe0]
sete al
cmp eax, dword [ebp - 0x104]
jne 0x1007ceda
xor eax, eax
jmp 0x10081b60
jmp 0x1007cdb6
jmp 0x1007d01c
mov dword [ebp - 0x1c], 1
jmp 0x1007cef6
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007d010
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007cf14
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x124], 0
je 0x1007cfdc
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007cfdc
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x300]
imul ecx, ecx, 6
mov dword [ebp - 0x2fc], ecx
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x2fc]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x300]
sub edx, 1
mov dword [ebp - 0x300], edx
test ecx, ecx
jle 0x1007cfdc
mov eax, dword [ebp - 0x2fc]
sub eax, 6
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x2fc]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007cf8c
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_get_script
add esp, 4
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
xor eax, eax
cmp edx, dword [ebp - 0xe0]
sete al
cmp eax, dword [ebp - 0x104]
jne 0x1007d00b
xor eax, eax
jmp 0x10081b60
jmp 0x1007ceed
jmp 0x1007d01c
mov eax, 0xfffffff2
jmp 0x10081b60
jmp 0x1007e4d4
cmp dword [ebp - 0xc], 0x16
jne 0x1007d277
mov dword [ebp - 0x1c], 1
jmp 0x1007d03d
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007d272
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x124], 0
je 0x1007d111
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007d111
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x308], ecx
mov edx, dword [ebp - 0x308]
imul edx, edx, 6
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x308]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x304]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x308]
sub ecx, 1
mov dword [ebp - 0x308], ecx
test eax, eax
jle 0x1007d111
mov edx, dword [ebp - 0x304]
sub edx, 6
mov dword [ebp - 0x304], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x304]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007d0c1
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov edx, dword [eax*4 + 0x100944d8]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 2
jne 0x1007d137
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jae 0x1007d26d
mov dword [ebp - 0x30c], 1
cmp dword [ebp - 0x124], 0
jne 0x1007d16a
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
jmp 0x1007d23b
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007d23b
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x318]
imul edx, edx, 6
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x318]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x314]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x310], 1
jmp 0x1007d1e7
mov eax, dword [ebp - 0x310]
add eax, 1
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x310]
cmp ecx, dword [ebp - 0x318]
jg 0x1007d229
mov edx, dword [ebp - 0x314]
sub edx, 6
mov dword [ebp - 0x314], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x310]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x314]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
jmp 0x1007d1d8
mov eax, dword [ebp - 0x30c]
add eax, dword [ebp - 0x318]
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0x10c]
push ecx
call sym.glib_2.0.dll_g_unichar_type
add esp, 4
mov edx, dword [eax*4 + 0x100944d8]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 2
je 0x1007d25c
jmp 0x1007d26d
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x30c]
mov dword [ebp + 8], eax
jmp 0x1007d137
jmp 0x1007d034
jmp 0x1007e4d4
cmp dword [ebp - 0x124], 0
je 0x1007df25
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x540], ecx
mov edx, dword [ebp - 0x540]
sub edx, 6
mov dword [ebp - 0x540], edx
cmp dword [ebp - 0x540], 0xf
ja case.0x1007d2af.9
mov eax, dword [ebp - 0x540]
jmp dword [eax*4 + 0x10081d60]
mov dword [ebp - 0x1c], 1
jmp 0x1007d2c8
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007d3ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jae 0x1007d3af
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x1007d347
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jae 0x1007d32f
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp + 0x18]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x5c]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x1007d32f
mov dword [ebp - 0x544], 1
jmp 0x1007d339
mov dword [ebp - 0x544], 0
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x548], eax
jmp 0x1007d3a6
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x5c]
sub eax, dword [edx + 0x1c]
cmp dword [ebp + 8], eax
ja 0x1007d390
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x20]
cmp edx, ecx
jne 0x1007d390
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 1
je 0x1007d384
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x21]
cmp ecx, eax
jne 0x1007d390
mov dword [ebp - 0x54c], 1
jmp 0x1007d39a
mov dword [ebp - 0x54c], 0
mov ecx, dword [ebp - 0x54c]
mov dword [ebp - 0x548], ecx
cmp dword [ebp - 0x548], 0
je 0x1007d3b6
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jae 0x1007d3e7
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x1007d3e7
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x1007d3bf
jmp 0x1007d2bf
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007d403
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007d452
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x1007d41d
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jae 0x1007d450
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x1007d450
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x1007d426
jmp 0x1007d3fa
jmp 0x1007df20
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x24]
mov dword [ebp + 8], eax
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007d477
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007d5ee
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jb 0x1007d495
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007d550
mov edx, dword [ebp - 0x10c]
and edx, 0x3f
movzx eax, byte [edx + 0x10094498]
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
imul ecx, ecx, 6
mov dword [ebp - 0x31c], ecx
mov edx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x10c]
and eax, dword [edx*4 + 0x1009447c]
mov ecx, dword [ebp - 0x31c]
shl eax, cl
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x320]
mov edx, dword [ebp - 0x320]
sub edx, 1
mov dword [ebp - 0x320], edx
test ecx, ecx
jle 0x1007d550
mov eax, dword [ebp - 0x31c]
sub eax, 6
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x31c]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007d500
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x550], ecx
cmp dword [ebp - 0x550], 0xd
ja 0x1007d58b
cmp dword [ebp - 0x550], 0xd
je 0x1007d5b6
cmp dword [ebp - 0x550], 0xa
je 0x1007d5d7
cmp dword [ebp - 0x550], 0xa
jbe 0x1007d5af
cmp dword [ebp - 0x550], 0xc
jbe 0x1007d5d9
jmp 0x1007d5af
cmp dword [ebp - 0x550], 0x85
je 0x1007d5d9
cmp dword [ebp - 0x550], 0x2027
jbe 0x1007d5af
cmp dword [ebp - 0x550], 0x2029
jbe 0x1007d5d9
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007d5d5
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0xa
jne 0x1007d5d5
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007d5e9
jmp 0x1007d5e9
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x50], 0
je 0x1007d5e9
xor eax, eax
jmp 0x10081b60
jmp 0x1007d46e
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007d605
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007d798
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x1007d623
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007d6de
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x328], ecx
mov edx, dword [ebp - 0x328]
imul edx, edx, 6
mov dword [ebp - 0x324], edx
mov eax, dword [ebp - 0x328]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x324]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x328]
sub ecx, 1
mov dword [ebp - 0x328], ecx
test eax, eax
jle 0x1007d6de
mov edx, dword [ebp - 0x324]
sub edx, 6
mov dword [ebp - 0x324], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x324]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007d68e
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x554], ecx
cmp dword [ebp - 0x554], 0x180e
ja 0x1007d740
cmp dword [ebp - 0x554], 0x180e
je 0x1007d78c
cmp dword [ebp - 0x554], 0xa0
ja 0x1007d732
cmp dword [ebp - 0x554], 0xa0
je 0x1007d78c
cmp dword [ebp - 0x554], 9
je 0x1007d78c
cmp dword [ebp - 0x554], 0x20
je 0x1007d78c
jmp 0x1007d78a
cmp dword [ebp - 0x554], 0x1680
je 0x1007d78c
jmp 0x1007d78a
cmp dword [ebp - 0x554], 0x205f
ja 0x1007d77e
cmp dword [ebp - 0x554], 0x205f
je 0x1007d78c
cmp dword [ebp - 0x554], 0x2000
jb 0x1007d78a
cmp dword [ebp - 0x554], 0x200a
jbe 0x1007d78c
cmp dword [ebp - 0x554], 0x202f
je 0x1007d78c
jmp 0x1007d78a
cmp dword [ebp - 0x554], 0x3000
je 0x1007d78c
jmp 0x1007d793
xor eax, eax
jmp 0x10081b60
jmp 0x1007d5fc
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007d7af
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007d940
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x1007d7cd
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007d888
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x330], ecx
mov edx, dword [ebp - 0x330]
imul edx, edx, 6
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp - 0x330]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x32c]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x330]
sub ecx, 1
mov dword [ebp - 0x330], ecx
test eax, eax
jle 0x1007d888
mov edx, dword [ebp - 0x32c]
sub edx, 6
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x32c]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007d838
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x558], ecx
cmp dword [ebp - 0x558], 0x180e
ja 0x1007d8ea
cmp dword [ebp - 0x558], 0x180e
je 0x1007d93b
cmp dword [ebp - 0x558], 0xa0
ja 0x1007d8dc
cmp dword [ebp - 0x558], 0xa0
je 0x1007d93b
cmp dword [ebp - 0x558], 9
je 0x1007d93b
cmp dword [ebp - 0x558], 0x20
je 0x1007d93b
jmp 0x1007d934
cmp dword [ebp - 0x558], 0x1680
je 0x1007d93b
jmp 0x1007d934
cmp dword [ebp - 0x558], 0x205f
ja 0x1007d928
cmp dword [ebp - 0x558], 0x205f
je 0x1007d93b
cmp dword [ebp - 0x558], 0x2000
jb 0x1007d934
cmp dword [ebp - 0x558], 0x200a
jbe 0x1007d93b
cmp dword [ebp - 0x558], 0x202f
je 0x1007d93b
jmp 0x1007d934
cmp dword [ebp - 0x558], 0x3000
je 0x1007d93b
xor eax, eax
jmp 0x10081b60
jmp 0x1007d7a6
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007d957
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007da8e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x1007d975
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007da30
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x338]
imul edx, edx, 6
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x338]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x334]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x338]
mov ecx, dword [ebp - 0x338]
sub ecx, 1
mov dword [ebp - 0x338], ecx
test eax, eax
jle 0x1007da30
mov edx, dword [ebp - 0x334]
sub edx, 6
mov dword [ebp - 0x334], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x334]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007d9e0
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x55c], ecx
cmp dword [ebp - 0x55c], 0x85
ja 0x1007da68
cmp dword [ebp - 0x55c], 0x85
je 0x1007da82
cmp dword [ebp - 0x55c], 0xa
jb 0x1007da80
cmp dword [ebp - 0x55c], 0xd
jbe 0x1007da82
jmp 0x1007da80
cmp dword [ebp - 0x55c], 0x2028
jb 0x1007da80
cmp dword [ebp - 0x55c], 0x2029
jbe 0x1007da82
jmp 0x1007da89
xor eax, eax
jmp 0x10081b60
jmp 0x1007d94e
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007daa5
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007dbda
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x1007dac3
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007db7e
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x340]
imul edx, edx, 6
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x33c]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x340]
sub ecx, 1
mov dword [ebp - 0x340], ecx
test eax, eax
jle 0x1007db7e
mov edx, dword [ebp - 0x33c]
sub edx, 6
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x33c]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007db2e
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x560], ecx
cmp dword [ebp - 0x560], 0x85
ja 0x1007dbb6
cmp dword [ebp - 0x560], 0x85
je 0x1007dbd5
cmp dword [ebp - 0x560], 0xa
jb 0x1007dbce
cmp dword [ebp - 0x560], 0xd
jbe 0x1007dbd5
jmp 0x1007dbce
cmp dword [ebp - 0x560], 0x2028
jb 0x1007dbce
cmp dword [ebp - 0x560], 0x2029
jbe 0x1007dbd5
xor eax, eax
jmp 0x10081b60
jmp 0x1007da9c
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007dbf1
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007dcf7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jb 0x1007dc0f
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x10c], 0xc0
jb 0x1007dcca
mov eax, dword [ebp - 0x10c]
and eax, 0x3f
movzx ecx, byte [eax + 0x10094498]
mov dword [ebp - 0x348], ecx
mov edx, dword [ebp - 0x348]
imul edx, edx, 6
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x348]
mov edx, dword [ebp - 0x10c]
and edx, dword [eax*4 + 0x1009447c]
mov ecx, dword [ebp - 0x344]
shl edx, cl
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x348]
sub ecx, 1
mov dword [ebp - 0x348], ecx
test eax, eax
jle 0x1007dcca
mov edx, dword [ebp - 0x344]
sub edx, 6
mov dword [ebp - 0x344], edx
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
and edx, 0x3f
mov ecx, dword [ebp - 0x344]
shl edx, cl
or edx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007dc7a
cmp dword [ebp - 0x10c], 0x80
jae 0x1007dcf2
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x10c]
movzx ecx, byte [edx + eax]
and ecx, 4
je 0x1007dcf2
xor eax, eax
jmp 0x10081b60
jmp 0x1007dbe8
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007dd0e
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007dd58
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jae 0x1007dd4f
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x80
jge 0x1007dd4f
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
movzx eax, byte [edx + eax]
and eax, 4
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
test eax, eax
jne 0x1007dd56
xor eax, eax
jmp 0x10081b60
jmp 0x1007dd05
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007dd6f
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jg 0x1007ddd8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jae 0x1007dda5
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x80
jge 0x1007ddac
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
movzx eax, byte [edx + eax]
and eax, 1
je 0x1007ddac
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007ddd6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x1007ddd6
jmp 0x1007ddac
jmp 0x1007dd66
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007ddef
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x1007de39
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007de30
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x80
jge 0x1007de30
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x28]
movzx ecx, byte [eax + ecx]
and ecx, 1
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
test ecx, ecx
jne 0x1007de37
xor eax, eax
jmp 0x10081b60
jmp 0x1007dde6
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007de50
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x1007deb7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jae 0x1007de86
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0x80
jge 0x1007de8d
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x28]
movzx ecx, byte [eax + ecx]
and ecx, 0x10
je 0x1007de8d
xor eax, eax
jmp 0x10081b60
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jae 0x1007deb5
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x1007deb5
jmp 0x1007de8d
jmp 0x1007de47
jmp 0x1007df20
mov dword [ebp - 0x1c], 1
jmp 0x1007decb
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007df14
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x5c]
jae 0x1007df0b
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x80
jge 0x1007df0b
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x28]
movzx edx, byte [ecx + edx]
and edx, 0x10
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
test edx, edx
jne 0x1007df12
xor eax, eax
jmp 0x10081b60
jmp 0x1007dec2
jmp 0x1007df20
mov eax, 0xfffffff2
jmp 0x10081b60
jmp 0x1007e4d4
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x564], ecx
mov edx, dword [ebp - 0x564]
sub edx, 6
mov dword [ebp - 0x564], edx
cmp dword [ebp - 0x564], 0xf
ja case.0x1007df50.9
mov eax, dword [ebp - 0x564]
jmp dword [eax*4 + 0x10081da0]
mov dword [ebp - 0x1c], 1
jmp 0x1007df69
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jg 0x1007e056
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x18], 0
je 0x1007dfd9
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x5c]
jae 0x1007dfc1
mov eax, dword [ebp - 0x124]
push eax
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10002930
add esp, 0x14
test eax, eax
je 0x1007dfc1
mov dword [ebp - 0x568], 1
jmp 0x1007dfcb
mov dword [ebp - 0x568], 0
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
jmp 0x1007e038
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x5c]
sub ecx, dword [eax + 0x1c]
cmp dword [ebp + 8], ecx
ja 0x1007e022
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x20]
cmp eax, edx
jne 0x1007e022
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x1007e016
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x21]
cmp edx, ecx
jne 0x1007e022
mov dword [ebp - 0x570], 1
jmp 0x1007e02c
mov dword [ebp - 0x570], 0
mov edx, dword [ebp - 0x570]
mov dword [ebp - 0x56c], edx
cmp dword [ebp - 0x56c], 0
je 0x1007e048
xor eax, eax
jmp 0x10081b60
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x1007df60
jmp 0x1007e4d4
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x24]
mov dword [ebp + 8], ecx
jmp 0x1007e4d4
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x24]
mov dword [ebp + 8], edx
jmp 0x1007e4d4
mov dword [ebp - 0x1c], 1
jmp 0x1007e089
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x1007e133
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x5c]
jb 0x1007e0a7
xor eax, eax
jmp 0x10081b60
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x574], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x578], ecx
mov edx, dword [ebp - 0x578]
sub edx, 0xa
mov dword [ebp - 0x578], edx
cmp dword [ebp - 0x578], 0x7b
ja entry0
mov eax, dword [ebp - 0x578]
movzx ecx, byte [eax + 0x10081df0]
jmp dword [ecx*4 + 0x10081de0]
popal
cld
rol dword [ebx + 0x458904ec], cl
inc ebp
aam 0xc7
add al, 0x24
add byte [eax], al
add byte [eax], al
test ch, bl
invalid
or byte [ebx - 0x7bf0f702], al
pop ebp
invalid
ret
retf
cmp edi, 0xe
jbe 0x1007e4b4
mov edi, esi
mov edx, ecx
mov ebx, eax
and edi, 0xfffffff0
add edi, ecx
movdqu xmm0, xmmword [edx]
add edx, 0x10
add ebx, 0x10
movups xmmword [ebx - 0x10], xmm0
cmp edx, edi
jne 0x1007e3c4
mov edi, dword [esp + 0xc]
mov ebx, esi
and ebx, 0xfffffff0
lea edx, [eax + ebx]
add ecx, ebx
sub edi, ebx
cmp esi, ebx
je 0x1007e4a6
movzx ebx, byte [ecx]
mov byte [edx], bl
test edi, edi
je 0x1007e4a6
add byte [eax], al
invalid
add byte [eax], al
add byte [edi], cl
mov dh, 0x59
add dword [eax - 0x7cfea6], ecx
add dword [edi], ecx
test byte [ebx + 0xf000000], bl
mov dh, 0x59
add cl, byte [eax - 0x7cfda6]
add cl, byte [edi]
test byte [ebx + 0xf000000], cl
mov dh, 0x59
add ecx, dword [eax - 0x7cfca6]
add esi, dword [edi + edi*2 + 0xf]
mov dh, 0x59
add al, 0x88
pop edx
add al, 0x83
inc dword [esp + esi*2]
jae 0x1007e443
movzx ebx, byte [ecx + 1]
mov byte [edx + 1], bl
cmp edi, 1
je 0x1007e4a6
movzx ebx, byte [ecx + 2]
mov byte [edx + 2], bl
cmp edi, 2
je 0x1007e4a6
movzx ebx, byte [ecx + 3]
mov byte [edx + 3], bl
cmp edi, 3
je 0x1007e4a6
movzx ebx, byte [ecx + 4]
mov byte [edx + 4], bl
cmp edi, 4
je 0x1007e4a6
movzx ebx, byte [ecx + 5]
mov byte [edx + 5], bl
cmp edi, 5
je 0x1007e4a6
mov dh, 0x59
add eax, 0x83055a88
inc dword [0xb60f6774]
mov dh, 0x59
movzx ebx, byte [ecx + 6]
mov dh, 0x59
push es
mov byte [edx + 6], bl
cmp edi, 6
je 0x1007e4a6
movzx ebx, byte [ecx + 7]
mov byte [edx + 7], bl
cmp edi, 7
je 0x1007e4a6
movzx ebx, byte [ecx + 8]
mov byte [edx + 8], bl
cmp edi, 8
je 0x1007e4a6
movzx ebx, byte [ecx + 9]
mov byte [edx + 9], bl
cmp edi, 9
je 0x1007e4a6
movzx ebx, byte [ecx + 0xa]
mov byte [edx + 0xa], bl
cmp edi, 0xa
je 0x1007e4a6
movzx ebx, byte [ecx + 0xb]
mov byte [edx + 0xb], bl
cmp edi, 0xb
je 0x1007e4a6
movzx ebx, byte [ecx + 0xc]
mov byte [edx + 0xc], bl
cmp edi, 0xc
je 0x1007e4a6
movzx ebx, byte [ecx + 0xd]
mov byte [edx + 0xd], bl
cmp edi, 0xd
je 0x1007e4a6
movzx ecx, byte [ecx + 0xe]
mov byte [edx + 0xe], cl
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
add esi, eax
mov ebx, eax
movzx edx, byte [ecx]
add ebx, 1
add ecx, 1
mov byte [ebx - 1], dl
cmp ebx, esi
jne 0x1007e4b8
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
hlt
mov eax, 0xfffffffb
jmp 0x10081b60
jmp 0x10076a3e
pop esi
mov ecx, dword [ebp - 0xf8]
xor ecx, ebp
call fcn.10001000
mov esp, ebp
pop ebp
ret