Function at 0x439276
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1f4
mov edi, eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x12c], 0
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0xf8], eax
cmp edx, dword [ecx + 4]
lea eax, [edx + 1]
mov dword [ecx], eax
jb 0x4392d5
mov edx, 0xfffffff8
jmp case.default.0x43f5e8
movzx eax, al
movzx eax, byte [eax + 0x644630]
add dword [ebp - 0xf0], eax
jmp 0x43929e
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebx + 8]
jb 0x439720
mov edx, 0xffffffeb
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 2
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
mov edx, eax
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, 1
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, 1
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x7c], edx
mov edx, 1
mov dword [eax + 0x70], edi
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
push esi
mov edx, dword [ebp - 0x110]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
mov edx, eax
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov edx, ebx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x14]
test byte [ebp + 0x1c], 2
mov dword [ebp - 0x120], ecx
je 0x439747
mov ebx, dword [ebp + 0x18]
lea esi, [ebp - 0xe4]
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], ebx
mov dword [ebp + 0x18], esi
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
mov dl, byte [eax]
movzx ecx, dl
mov dword [ebp - 0x144], ecx
cmp ecx, 0x72
ja case.0x439775.70
jmp dword [ecx*4 + 0x643b4c]
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, dl
movzx edx, byte [eax + 0x644630]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
add esp, 0x1c
mov ebx, eax
mov edx, 0xfffffc1a
test eax, eax
je case.default.0x43f5e8
jmp 0x4392ee
movzx eax, dl
movzx edx, byte [eax + 0x644630]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
add esp, 0x1c
mov ebx, eax
mov edx, 0xfffffc19
test eax, eax
je case.default.0x43f5e8
jmp 0x4392f5
movzx eax, dl
movzx edx, byte [eax + 0x644630]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
add esp, 0x1c
mov edx, eax
test eax, eax
jne case.default.0x43f5e8
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffc1b
mov dword [ebx + 0x6c], edi
jmp case.default.0x43f5e8
movzx eax, dl
movzx edx, byte [eax + 0x644630]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
add esp, 0x1c
mov ebx, eax
mov edx, 0xfffffc1c
test eax, eax
je case.default.0x43f5e8
jmp 0x4392fc
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp + 0x10]
movzx esi, byte [eax + 3]
movzx eax, byte [eax + 4]
shl esi, 8
or esi, eax
lea edx, [esi + esi]
mov dword [ebp - 0x140], edx
cmp edx, dword [ecx + 0x14]
jge case.0x439775.94
mov ebx, ecx
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + edx*4]
mov edx, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebx + 0x10]
sub eax, esi
mov dword [ebp - 0x150], edx
mov edx, dword [ebp + 0x10]
mov ebx, dword [ecx + eax*4]
mov edx, dword [edx + 0x80]
mov dword [ebp - 0x154], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x148], edx
mov edx, edi
sub edx, dword [ebx + 0x64]
mov dword [ecx + eax*4], edx
xor eax, eax
cmp dword [ebp - 0x144], 0x62
sete al
add eax, eax
mov dword [ebp + 0x1c], eax
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx]
movzx edx, byte [eax + 0x644630]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x439303
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0xf0]
mov ebx, dword [ebp - 0x148]
mov dword [ecx + 0x80], ebx
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
je 0x439916
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x150]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebp + 0x10]
mov dword [edx + eax*4 + 4], ebx
mov ebx, dword [ebp - 0x154]
mov eax, dword [ecx + 0x10]
sub eax, esi
mov dword [edx + eax*4], ebx
xor edx, edx
jmp case.default.0x43f5e8
xor eax, eax
cmp dword [ebp - 0x144], 0x61
setge al
add eax, eax
mov dword [ebp + 0x1c], eax
mov esi, dword [ebp - 0xf0]
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
cmp byte [eax + esi], 0x54
je 0x439a3c
cmp dword [ebp + 0x1c], 0
mov al, byte [esi]
je 0x4392c3
movzx eax, al
movzx edx, byte [eax + 0x644630]
mov eax, dword [ebp + 0x20]
add edx, esi
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
mov edx, eax
jmp case.default.0x43f5e8
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx]
movzx edx, byte [eax + 0x644630]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x43930a
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
mov dword [ebp - 0xf0], ecx
jmp 0x4399e6
mov ebx, dword [ebp - 0xf0]
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl esi, 8
or esi, eax
cmp byte [ebx + 3], 0x53
jne 0x439baa
mov ecx, dword [0x696220]
test ecx, ecx
je 0x439b9d
mov dword [ebp - 0xdc], 1
mov edx, dword [ebp + 0x10]
movzx eax, byte [ebx + 4]
mov ebx, edx
mov dword [ebp - 0xd8], eax
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 0x64]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0x68]
sub eax, edx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp + 8]
sub eax, edx
mov ebx, dword [ebp - 0xf0]
mov dword [ebp - 0xc8], eax
mov eax, edi
sub eax, edx
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0xc4], eax
movzx eax, byte [edx + 5]
movzx edx, byte [edx + 6]
shl eax, 8
or eax, edx
mov dword [ebp - 0xb4], eax
movzx eax, byte [ebx + 7]
movzx edx, byte [ebx + 8]
shl eax, 8
or eax, edx
mov edx, 2
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0xc]
mov ebx, edx
cdq
idiv ebx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xc0], eax
mov eax, dword [edx + 0x80]
mov dword [ebp - 0xbc], eax
mov eax, dword [edx + 0x94]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xdc]
push eax
call ecx
mov ebx, eax
pop eax
test ebx, ebx
jg 0x439311
jl 0x439318
movzx eax, byte [0x644683]
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
movzx ebx, byte [ecx + 3]
lea eax, [ebx - 0x66]
cmp eax, 1
ja 0x439d66
mov esi, dword [ebp + 0x10]
mov esi, dword [esi + 0x90]
mov dword [ebp - 0x158], esi
test esi, esi
je 0x439f55
mov eax, dword [ebp - 0xf0]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
mov dword [ebp - 0x118], 0
or ecx, eax
cmp ecx, 0xffff
je 0x439c07
mov edx, dword [ebp - 0x158]
cmp ecx, dword [edx + 4]
jne 0x439c11
mov dword [ebp - 0x118], 1
cmp dword [ebp - 0x118], 0
sete dl
xor eax, eax
cmp ebx, 0x67
sete al
test edx, eax
je 0x439f1f
cmp ecx, 0xffff
je 0x439f1f
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xf4], 0
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
cmp dword [ebp - 0xf4], eax
mov dword [ebp - 0x1f4], esi
mov dword [ebp - 0x1ec], eax
jge 0x439f1f
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or eax, edx
cmp eax, ecx
je 0x439c8c
inc dword [ebp - 0xf4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x1ec]
add esi, dword [edx + 0x24]
cmp dword [ebp - 0xf4], ebx
jmp 0x439c5c
mov eax, dword [ebp - 0x1ec]
cmp dword [ebp - 0xf4], eax
jge 0x439f1f
mov ebx, esi
cmp esi, dword [ebp - 0x1f4]
jbe 0x439cf4
mov edx, dword [ebp + 0x10]
sub ebx, dword [edx + 0x24]
lea edx, [esi + 2]
lea eax, [ebx + 2]
push eax
push edx
call fcn.00577110
pop edx
test eax, eax
pop ecx
jne 0x439cf4
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x158]
or eax, edx
cmp eax, dword [ecx + 4]
sete al
movzx eax, al
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x43a006
cmp ebx, dword [ebp - 0x1f4]
ja 0x439ca8
jmp 0x439d01
cmp dword [ebp - 0x118], 0
jne 0x43a006
mov ebx, esi
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x1ec]
cmp dword [ebp - 0xf4], eax
jge 0x439f2c
mov edx, dword [ebp + 0x10]
add ebx, dword [edx + 0x24]
lea edx, [esi + 2]
lea eax, [ebx + 2]
push eax
push edx
call fcn.00577110
pop edx
test eax, eax
pop ecx
jne 0x439f2c
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
mov ecx, dword [ebp + 0x10]
or eax, edx
mov edx, dword [ecx + 0x90]
cmp eax, dword [edx + 4]
sete al
movzx eax, al
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x43a006
jmp 0x439d03
lea eax, [ebx - 0x64]
cmp eax, 1
ja 0x439f4a
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 5]
shl eax, 8
mov dword [ebp - 0x118], 0
or eax, edx
add eax, eax
mov dword [ebp - 0x140], eax
cmp eax, esi
jge 0x439dba
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x140]
mov eax, dword [edx + 0xc]
cmp dword [eax + ecx*4], 0
js 0x439dba
mov dword [ebp - 0x118], 1
cmp dword [ebp - 0x118], 0
sete dl
xor eax, eax
cmp ebx, 0x65
sete al
test edx, eax
je 0x439f1f
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x140]
sar ecx, 1
mov dword [ebp - 0xf4], 0
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
cmp dword [ebp - 0xf4], eax
mov dword [ebp - 0x1f8], esi
mov dword [ebp - 0x1f0], eax
jge 0x439f1f
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or eax, edx
cmp eax, ecx
je 0x439e31
inc dword [ebp - 0xf4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x1f0]
add esi, dword [edx + 0x24]
cmp dword [ebp - 0xf4], ebx
jmp 0x439e01
mov eax, dword [ebp - 0x1f0]
cmp dword [ebp - 0xf4], eax
jge 0x439f1f
mov ebx, esi
cmp esi, dword [ebp - 0x1f8]
jbe 0x439ea7
mov edx, dword [ebp + 0x10]
sub ebx, dword [edx + 0x24]
lea edx, [esi + 2]
lea eax, [ebx + 2]
push eax
push edx
call fcn.00577110
pop edx
test eax, eax
pop ecx
jne 0x439ea7
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
or eax, edx
mov dword [ebp - 0x118], 0
add eax, eax
mov dword [ebp - 0x140], eax
cmp eax, ecx
jge 0x439e9d
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x140]
mov eax, dword [edx + 0xc]
cmp dword [eax + ecx*4], 0
jns 0x439f10
cmp ebx, dword [ebp - 0x1f8]
ja 0x439e4d
jmp 0x439eb4
cmp dword [ebp - 0x118], 0
jne 0x43a006
mov ebx, esi
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x1f0]
cmp dword [ebp - 0xf4], eax
jge 0x439f2c
mov edx, dword [ebp + 0x10]
add ebx, dword [edx + 0x24]
lea edx, [esi + 2]
lea eax, [ebx + 2]
push eax
push edx
call fcn.00577110
pop edx
test eax, eax
pop ecx
jne 0x439f2c
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
or eax, edx
add eax, eax
mov dword [ebp - 0x140], eax
cmp eax, ecx
jge 0x439eb6
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x140]
mov eax, dword [edx + 0xc]
cmp dword [eax + ecx*4], 0
js 0x439eb6
mov dword [ebp - 0x118], 1
jmp 0x43a006
cmp dword [ebp - 0x118], 0
jne 0x43a006
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
jmp 0x43a016
cmp ebx, 0x68
jne 0x439f6f
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
mov dword [ebp - 0xf0], ecx
jmp 0x43a016
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
add edx, 3
push eax
push 1
push 0
mov eax, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
add esp, 0x1c
mov ebx, eax
cmp eax, 1
jne 0x439fe6
mov ebx, dword [ebp - 0xf0]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
add eax, ebx
lea esi, [eax + 3]
mov dword [ebp - 0xf0], esi
cmp byte [eax + 3], 0x54
jne 0x43a025
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
jmp 0x439fc0
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x43931f
add dword [ebp - 0xf0], esi
jmp 0x43a016
add dword [ebp - 0xf0], 3
cmp dword [ebp - 0x118], 0
jne 0x43a025
mov ebx, dword [ebp - 0xf0]
cmp byte [ebx], 0x54
jne 0x43b8a2
add dword [ebp - 0xf0], 3
cmp dword [ebp - 0x144], 0x63
je 0x439326
jmp 0x43a9df
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp + 0x10]
movzx esi, byte [eax + 1]
movzx eax, byte [eax + 2]
shl esi, 8
or esi, eax
mov dword [ecx + 0x80], esi
lea edx, [esi + esi]
mov dword [ebp - 0x140], edx
cmp edx, dword [ecx + 0x14]
jl 0x43a074
mov dword [ecx + 0x38], 1
jmp 0x43b8a2
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
sub eax, esi
mov esi, dword [ebp - 0x140]
mov eax, dword [edx + eax*4]
mov dword [edx + esi*4], eax
mov eax, edi
sub eax, dword [ebx + 0x64]
mov dword [edx + esi*4 + 4], eax
cmp dword [ebp + 0xc], esi
jg 0x43b8a2
add esi, 2
mov dword [ebp + 0xc], esi
jmp 0x43b8a2
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x90]
test ebx, ebx
je 0x43a0fb
cmp dword [ebx + 4], 0
jne 0x43a0fb
mov edx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov dword [edx + 0x90], eax
mov eax, dword [ebx + 0x14]
shl eax, 2
push eax
push dword [ebx + 0x10]
push dword [edx + 0xc]
call sub.msvcrt.dll_memmove
mov ecx, dword [ebx + 0x18]
mov esi, dword [ebx + 0xc]
mov eax, dword [ebp - 0x120]
mov ebx, dword [ebx + 8]
mov dword [ebp + 0xc], ecx
mov dword [ebp + 8], esi
mov dword [ebp + 0x14], eax
mov dword [ebp - 0xf0], ebx
jmp 0x43a906
cmp edi, dword [ebp + 8]
jne 0x43a123
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x50], 0
jne 0x43a11c
cmp dword [edx + 0x54], 0
je 0x43a123
mov eax, dword [edx + 0x84]
add eax, dword [edx + 0x64]
cmp edi, eax
jne 0x43a123
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edx, 1
mov dword [ecx + 0x70], edi
mov dword [ecx + 0x7c], ebx
mov dword [ecx + 0x6c], esi
jmp case.default.0x43f5e8
mov eax, dword [ebp - 0xf0]
movzx eax, byte [eax + 1]
mov dword [ebp + 0x14], eax
jmp 0x43ca82
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
add edx, 3
push eax
push 0
push 0
mov eax, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
add esp, 0x1c
mov ebx, eax
cmp eax, 1
je 0x43a1bc
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x439350
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
je case.0x439775.88
mov ebx, dword [ebp - 0xf0]
cmp byte [ebx], 0x55
je 0x439357
test byte [ebp + 0x1c], 1
jne 0x43935e
mov esi, dword [ebp - 0xf0]
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
mov dword [ebp - 0xf0], esi
cmp byte [esi], 0x54
je 0x43a1d5
mov eax, dword [ebp + 0x10]
add esi, 3
mov dword [ebp - 0xf0], esi
mov eax, dword [eax + 0x7c]
mov dword [ebp + 0xc], eax
jmp 0x439747
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
add edx, 3
push eax
push 0
push 0
mov eax, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00439276
add esp, 0x1c
mov ebx, eax
cmp eax, 1
je 0x439368
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x43936f
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
je case.0x439775.89
test byte [ebp + 0x1c], 1
jne 0x439376
add ecx, 3
mov dword [ebp - 0xf0], ecx
jmp 0x439747
mov ebx, dword [ebp - 0xf0]
cmp dword [ebp - 0xf8], 0
mov al, byte [ebx + 1]
mov dl, byte [ebx + 2]
je 0x43a2ea
movzx eax, al
shl eax, 8
mov dword [ebp - 0xf4], eax
movzx eax, dl
or dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
dec dword [ebp - 0xf4]
test eax, eax
jle 0x43a303
mov esi, dword [ebp + 0x10]
dec edi
cmp edi, dword [esi + 0x64]
jb 0x439380
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43a2bd
dec edi
jmp 0x43a2da
movzx eax, al
shl eax, 8
movzx edx, dl
or eax, edx
sub edi, eax
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x64]
jb 0x439387
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x74]
jae 0x43b8a2
mov dword [edx + 0x74], edi
jmp 0x43b8a2
mov ecx, dword [0x696220]
test ecx, ecx
je 0x43a3e2
mov ebx, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], 1
mov esi, dword [ebp + 0x10]
movzx eax, byte [ebx + 1]
mov dword [ebp - 0xd8], eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x64]
mov dword [ebp - 0xd4], eax
mov eax, dword [esi + 0x68]
mov dword [ebp - 0xd0], edx
sub eax, edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp + 8]
sub eax, edx
mov dword [ebp - 0xc8], eax
mov eax, edi
sub eax, edx
mov dword [ebp - 0xc4], eax
movzx eax, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, edx
mov dword [ebp - 0xb4], eax
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
mov edx, 2
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0xc]
mov esi, edx
cdq
idiv esi
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xc0], eax
mov eax, dword [edx + 0x80]
mov dword [ebp - 0xbc], eax
mov eax, dword [edx + 0x94]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xdc]
push eax
call ecx
pop ecx
mov ebx, eax
test eax, eax
jg 0x43938e
jl 0x439395
add dword [ebp - 0xf0], 6
jmp 0x439747
mov ecx, dword [ebp - 0xf0]
mov ebx, dword [ebp + 0x10]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
xor ecx, ecx
or eax, edx
mov edx, dword [ebx + 0x60]
lea esi, [edx + eax]
cmp esi, edx
je 0x43a41d
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x28], ecx
add dword [ebp - 0xf0], 3
mov eax, dword [edx + 0x90]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
mov dword [edx + 0x90], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], eax
cmp eax, 0x1e
jg 0x43a45b
lea eax, [ebp - 0xac]
mov dword [ebp - 0x1c], eax
jmp 0x43a476
shl eax, 2
push eax
call dword [0x5dd0ac]
pop edx
test eax, eax
mov dword [ebp - 0x1c], eax
mov edx, 0xfffffffa
je case.default.0x43f5e8
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp + 0x10]
shl eax, 2
push eax
push dword [ebx + 0xc]
push dword [ebp - 0x1c]
call fcn.00577220
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], edx
add esp, 0xc
mov al, byte [esi]
cmp al, 0x61
sbb ecx, ecx
not ecx
and ecx, 2
mov dword [ebp + 0x1c], ecx
movzx eax, byte [esi]
movzx edx, byte [eax + 0x644630]
mov eax, dword [ebp + 0x20]
inc eax
lea edx, [esi + edx]
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
cmp eax, 1
jne 0x43a506
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
mov dword [ebx + 0x90], eax
lea eax, [ebp - 0xac]
cmp edx, eax
je 0x43a4fc
push edx
call dword [0x5dd0a8]
pop eax
mov edx, 1
jmp case.default.0x43f5e8
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
mov edx, dword [ebp - 0x1c]
je 0x43a536
lea eax, [ebp - 0xac]
cmp edx, eax
je 0x43a52f
push edx
call dword [0x5dd0a8]
pop eax
mov edx, ebx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x2c]
mov dword [ecx + 0x90], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
push eax
push edx
push dword [ecx + 0xc]
call fcn.00577220
add esp, 0xc
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
cmp byte [esi], 0x54
je 0x43a4a8
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
mov dword [ebx + 0x90], eax
lea eax, [ebp - 0xac]
cmp edx, eax
je 0x43a58e
push edx
call dword [0x5dd0a8]
pop edi
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x110], esi
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
add edx, 3
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
cmp eax, 1
je 0x43a613
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x43939c
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
je 0x43a5a7
mov ebx, dword [ebp - 0xf0]
mov al, byte [ebx]
cmp al, 0x5d
setne dl
cmp al, 0x54
setne al
movzx eax, al
test edx, eax
jne 0x4393a3
mov esi, dword [ebp - 0xf0]
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
mov dword [ebp - 0xf0], esi
mov cl, byte [esi]
cmp cl, 0x54
je 0x43a630
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp cl, 0x55
mov eax, dword [eax + 0x7c]
mov edi, dword [edx + 0x70]
mov dword [ebp + 0xc], eax
sete dl
cmp edi, dword [ebp - 0x114]
sete al
or eax, edx
test al, 1
jne 0x43a7e3
mov ebx, dword [ebp - 0xf0]
cmp byte [ebx + 3], 0x19
jne 0x43a691
and dword [ebp + 0x14], 0xfffffff8
movzx eax, byte [ebx + 4]
or dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x20]
cmp cl, 0x57
lea esi, [eax + 1]
jne 0x43a6dc
push esi
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, dword [ebp - 0xf0]
mov eax, edi
add edx, 3
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4393aa
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xf0], edx
jmp 0x43a9df
push esi
push 2
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, dword [ebp - 0x110]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4393b1
jmp 0x43a9d8
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
mov dword [ebp - 0xf0], ecx
cmp byte [ecx], 0x54
je case.0x439775.84
jmp 0x439747
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp - 0xf0]
inc eax
inc esi
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, esi
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4393b8
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
cmp byte [esi], 0x54
je 0x43a765
jmp 0x43a7e3
mov esi, dword [ebp - 0xf0]
inc esi
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
cmp byte [esi], 0x54
je 0x43a782
mov eax, dword [ebp + 0x20]
lea edx, [esi + 3]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4393bf
jmp 0x43ba19
mov esi, dword [ebp - 0xf0]
inc esi
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
cmp byte [esi], 0x54
je 0x43a7cf
add esi, 3
jmp 0x43c87e
mov ebx, dword [ebp - 0xf0]
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
sub ebx, eax
mov dword [ebp - 0x110], ebx
mov cl, byte [ebx]
mov dword [ebp - 0x114], 0
cmp cl, 0x60
jbe 0x43a82b
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov esi, dword [esi + 4]
mov eax, dword [eax]
mov dword [ebp - 0x114], esi
mov dword [ebp + 0x18], eax
lea eax, [ecx - 0x58]
cmp al, 3
setbe dl
cmp cl, 0x5d
sete al
or eax, edx
test al, 1
jne 0x4393c6
cmp cl, 0x5f
sete dl
cmp cl, 0x62
sete al
or eax, edx
test al, 1
je 0x43a90e
mov edx, dword [ebp - 0x110]
mov ebx, dword [ebp + 0x10]
movzx esi, byte [edx + 3]
movzx eax, byte [edx + 4]
shl esi, 8
or esi, eax
mov dword [ebx + 0x80], esi
lea ecx, [esi + esi]
mov dword [ebp - 0x140], ecx
cmp ecx, dword [ebx + 0x14]
jl 0x43a88c
mov dword [ebx + 0x38], 1
jmp 0x43a8b9
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x140]
mov ecx, eax
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, esi
mov eax, dword [edx + eax*4]
mov dword [edx + ebx*4], eax
mov eax, edi
sub eax, dword [ecx + 0x64]
mov dword [edx + ebx*4 + 4], eax
cmp dword [ebp + 0xc], ebx
jg 0x43a8b9
add ebx, 2
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x90]
test ebx, ebx
je 0x43a90e
cmp dword [ebx + 4], esi
jne 0x43a90e
mov edx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov ecx, dword [ebx + 0xc]
mov dword [edx + 0x90], eax
mov eax, dword [ebx + 0x14]
shl eax, 2
mov dword [ebp + 8], ecx
push eax
push dword [ebx + 0x10]
push dword [edx + 0xc]
call fcn.00577220
mov esi, dword [ebx + 0x18]
mov eax, dword [ebp - 0x120]
mov ebx, dword [ebx + 8]
mov dword [ebp + 0xc], esi
mov dword [ebp - 0xf0], ebx
mov dword [ebp + 0x14], eax
add esp, 0xc
jmp 0x439747
mov edx, dword [ebp - 0x120]
mov ebx, dword [ebp - 0xf0]
mov dword [ebp + 0x14], edx
mov cl, byte [ebx]
cmp cl, 0x55
sete dl
cmp edi, dword [ebp - 0x114]
sete al
or eax, edx
test al, 1
je 0x43a942
add ebx, 3
mov dword [ebp - 0xf0], ebx
jmp 0x439747
mov esi, dword [ebp - 0x110]
mov edx, dword [ebp + 0x20]
mov al, byte [esi]
lea esi, [edx + 1]
cmp al, 0x61
sbb eax, eax
not eax
and eax, 2
cmp cl, 0x57
mov dword [ebp + 0x1c], eax
jne 0x43a9ab
push esi
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, dword [ebp - 0xf0]
mov eax, edi
add edx, 3
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4393dc
cmp dword [ebp + 0x1c], 0
jne 0x4393e3
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0xf0], ecx
jmp 0x43929e
push esi
mov edx, dword [ebp - 0x110]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x43940a
add dword [ebp - 0xf0], 3
mov dword [ebp + 0x1c], 0
jmp 0x43929e
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0x3c], 0
je 0x43a9fd
cmp edi, dword [ebx + 0x64]
je 0x439411
test byte [ebp + 0x14], 2
je case.0x439775.1
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x64]
cmp edi, edx
je 0x43ba19
cmp edi, dword [esi + 0x68]
je 0x43aa77
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x43aa42
cmp edi, edx
jbe 0x43aa77
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443140
add esp, 0x14
test eax, eax
jne 0x43ba19
jmp 0x43aa77
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
lea eax, [edx + ecx]
cmp edi, eax
jb 0x43aa77
mov edx, ecx
mov ebx, dword [ebp + 0x10]
neg edx
mov al, byte [ebx + 0x2c]
cmp byte [edx + edi], al
jne 0x43aa77
cmp ecx, 1
je 0x43ba19
mov edx, edi
mov al, byte [ebx + 0x2d]
sub edx, ecx
cmp byte [edx + 1], al
je 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x64]
jne 0x439418
jmp 0x43ba19
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x84]
add eax, dword [edx + 0x64]
cmp edi, eax
jne 0x43941f
jmp 0x43ba19
mov dword [ebp + 8], edi
jmp 0x43ba19
test byte [ebp + 0x14], 2
je 0x43ab29
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x68]
cmp edi, edx
jae 0x43ab17
mov ebx, ecx
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x43aaea
push dword [ebp - 0xf8]
mov eax, ebx
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x43ba19
jmp 0x43ab10
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x43ab10
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x43ab10
dec ecx
je 0x43ba19
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
je 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x40], 0
jne 0x439426
jmp 0x43ba19
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x40], 0
jne 0x43942d
cmp dword [edx + 0x4c], 0
jne case.0x439775.24
mov ecx, edx
mov edx, dword [edx + 0x68]
cmp edi, edx
je 0x43ba19
mov ebx, ecx
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x43ab73
cmp edi, edx
jae 0x43aba2
push dword [ebp - 0xf8]
mov eax, ebx
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x43ab91
jmp 0x43aba2
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x43aba2
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x43aba2
dec ecx
je 0x43ab91
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
jne 0x43aba2
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
sub eax, dword [edx + 0x1c]
cmp edi, eax
je 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x439434
jmp 0x43ba19
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebx + 0x68]
cmp edi, edx
je 0x43ba19
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x43abf0
cmp edi, edx
jae 0x43ac1f
push dword [ebp - 0xf8]
mov eax, ebx
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x43ac0e
jmp 0x43ac1f
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x43ac1f
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x43ac1f
dec ecx
je 0x43ac0e
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
jne 0x43ac1f
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
sub eax, dword [edx + 0x1c]
cmp edi, eax
je 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
cmp dword [ebp - 0xf8], 0
mov eax, dword [ecx + 0x64]
je 0x43ad86
mov dword [ebp - 0x11c], 0
cmp edi, eax
je 0x43acf6
movzx eax, byte [edi - 1]
lea edx, [edi - 1]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43ac62
dec edx
movzx eax, byte [edx]
jmp 0x43ac52
mov ebx, dword [ebp + 0x10]
cmp edx, dword [ebx + 0x74]
jae 0x43ac6d
mov dword [ebx + 0x74], edx
movzx esi, byte [edx]
cmp esi, 0xbf
jbe 0x43acce
mov eax, esi
mov dword [ebp - 0x15c], 1
and eax, 0x3f
movzx eax, byte [eax + 0x644590]
imul ebx, eax, 6
and esi, dword [eax*4 + 0x6445d0]
mov cl, bl
mov dword [ebp - 0x1fc], eax
shl esi, cl
cmp dword [ebp - 0x15c], eax
jg 0x43acce
mov ecx, dword [ebp - 0x15c]
sub ebx, 6
movzx eax, byte [ecx + edx]
mov cl, bl
and eax, 0x3f
inc dword [ebp - 0x15c]
shl eax, cl
or esi, eax
mov eax, dword [ebp - 0x1fc]
jmp 0x43aca2
mov dword [ebp - 0x11c], 0
cmp esi, 0xff
ja 0x43acf6
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 0x10
je 0x43acf6
mov dword [ebp - 0x11c], 1
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43ad2b
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43ade9
mov dword [ebx + 0x58], 1
dec ecx
jg 0x43943b
jmp 0x43ade9
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x43ad68
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp ebx, edx
jg 0x43ad68
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
jmp 0x43ad53
xor edx, edx
cmp esi, 0xff
ja 0x43ae00
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
je 0x43ae00
mov dl, 1
jmp 0x43ae00
mov dword [ebp - 0x11c], 0
cmp edi, eax
je 0x43adbc
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x74]
ja 0x43ada2
lea eax, [edi - 1]
mov dword [ebx + 0x74], eax
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi - 1]
mov eax, dword [esi + 0x34]
movzx edx, byte [edx + eax]
shr edx, 4
and edx, 1
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43aded
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43ade9
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jg 0x439445
xor edx, edx
jmp 0x43ae00
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
movzx edx, byte [edx + eax]
shr edx, 4
and edx, 1
mov ebx, dword [ebp - 0xf0]
mov al, byte [ebx]
inc ebx
mov dword [ebp - 0xf0], ebx
cmp al, 5
jne 0x43ae20
cmp edx, dword [ebp - 0x11c]
je 0x43ae2c
jmp 0x439747
cmp edx, dword [ebp - 0x11c]
je 0x439747
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x68]
test ecx, ecx
je 0x43ae61
cmp edi, edx
jae case.0x439775.13
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x43ae81
jmp case.0x439775.13
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
sub edx, ecx
cmp edi, edx
ja case.0x439775.13
mov edx, eax
mov al, byte [eax + 0x2c]
cmp byte [edi], al
jne case.0x439775.13
dec ecx
je 0x43ae81
mov al, byte [edx + 0x2d]
cmp byte [edi + 1], al
jne case.0x439775.13
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
mov eax, edi
inc edi
mov edx, dword [ecx + 0x68]
cmp eax, edx
jb 0x43aec5
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43aebe
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
cmp dword [ebp - 0xf8], 0
je 0x43ba19
cmp edi, edx
jae 0x43ba19
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43ba19
inc edi
jmp 0x43aed2
mov esi, dword [ebp + 0x10]
mov eax, edi
inc edi
cmp eax, dword [esi + 0x68]
jb 0x43ba19
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43af24
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43af64
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43af5d
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43afb0
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43afb0
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43af99
cmp esi, 0xff
ja 0x43ba19
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
jne 0x43944f
jmp 0x43ba19
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x43b007
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b000
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b053
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b053
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b03c
cmp esi, 0xff
ja 0x43b06b
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 4
jne 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43b0aa
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b0a3
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b0f6
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b0f6
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b0df
cmp esi, 0xff
ja 0x43ba19
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 1
jne 0x439456
jmp 0x43ba19
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43b14f
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b148
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b19b
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b19b
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b184
cmp esi, 0xff
ja 0x43b1b3
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 1
jne 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43b1f2
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b1eb
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b23e
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b23e
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b227
cmp esi, 0xff
ja 0x43ba19
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 0x10
jne 0x43945d
jmp 0x43ba19
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43b297
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b290
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b2e3
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b2e3
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b2cc
cmp esi, 0xff
ja 0x43b2fb
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 0x10
jne 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ecx + 0x68]
cmp edi, ebx
jb 0x43b33c
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b335
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b388
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b388
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b371
cmp esi, 0xd
je 0x43b3b8
ja 0x43b39c
cmp esi, 0xa
je 0x43ba19
jb 0x43b3b1
jmp 0x43b3cf
cmp esi, 0x85
je 0x43b3cf
jb 0x43b3b1
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x43b3cf
xor edx, edx
jmp case.default.0x43f5e8
cmp edi, ebx
jae 0x43ba19
cmp byte [edi], 0xa
jne 0x43ba19
inc edi
jmp 0x43ba19
mov esi, dword [ebp + 0x10]
cmp dword [esi + 0x5c], 0
jne 0x439464
jmp 0x43ba19
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43b41a
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b413
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b466
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b466
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b44f
cmp esi, 0x180e
je 0x43b4bb
ja 0x43b48c
cmp esi, 0x20
je 0x43b4bb
ja 0x43b47c
cmp esi, 9
jmp 0x43b4b5
cmp esi, 0xa0
je 0x43b4bb
cmp esi, 0x1680
jmp 0x43b4b5
cmp esi, 0x202f
je 0x43b4bb
ja 0x43b4a7
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x43ba19
jmp 0x43b4bb
cmp esi, 0x205f
je 0x43b4bb
cmp esi, 0x3000
jne 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43b4fa
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b4f3
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b546
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b546
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b52f
cmp esi, 0x180e
je 0x43ba19
ja 0x43b578
cmp esi, 0x20
je 0x43ba19
ja 0x43b564
cmp esi, 9
jmp 0x43b5a8
cmp esi, 0xa0
je 0x43ba19
cmp esi, 0x1680
jmp 0x43b5a8
cmp esi, 0x202f
je 0x43ba19
ja 0x43b596
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x43b5ae
jmp 0x43ba19
cmp esi, 0x205f
je 0x43ba19
cmp esi, 0x3000
je 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43b5eb
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b5e4
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b637
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b637
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b620
cmp esi, 0x85
je 0x43b658
ja 0x43b649
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x43b652
lea eax, [esi - 0x2028]
cmp eax, 1
ja 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43b698
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b691
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b6e4
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b6e4
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b6cd
cmp esi, 0x85
je 0x43ba19
ja 0x43b6fa
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x43b703
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x43ba19
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43b748
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b741
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b794
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b794
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b77d
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
mov esi, dword [ebp - 0xf0]
movzx eax, word [eax + eax + 0x6446b0]
movzx edx, byte [esi + 1]
lea eax, [eax*8 + 0x6506b0]
cmp edx, 4
ja case.default.0x43b7ca
jmp dword [edx*4 + 0x643d18]
cmp dword [ebp - 0x144], 0xf
jne 0x43b8a2
xor edx, edx
jmp case.default.0x43f5e8
mov cl, byte [eax + 1]
xor ebx, ebx
cmp cl, 9
setne dl
xor eax, eax
cmp cl, 5
setne al
test edx, eax
je 0x43b803
cmp cl, 8
je 0x43b803
mov bl, 1
xor eax, eax
cmp dword [ebp - 0x144], 0xf
sete al
cmp ebx, eax
je 0x43b8a2
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [eax + 1]
movzx edx, byte [ecx + 2]
cmp edx, dword [eax*4 + 0x644510]
sete dl
cmp dword [ebp - 0x144], 0x10
sete al
xor eax, edx
test al, 1
je 0x43b8a2
xor edx, edx
jmp case.default.0x43f5e8
mov ebx, dword [ebp - 0xf0]
mov al, byte [eax + 1]
cmp byte [ebx + 2], al
sete dl
cmp dword [ebp - 0x144], 0x10
sete al
xor eax, edx
test al, 1
je 0x43b8a2
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp - 0xf0]
mov al, byte [eax]
cmp byte [esi + 2], al
sete dl
cmp dword [ebp - 0x144], 0x10
sete al
xor eax, edx
test al, 1
je 0x43b8a2
xor edx, edx
jmp case.default.0x43f5e8
mov edx, 0xfffffff2
jmp case.default.0x43f5e8
add dword [ebp - 0xf0], 3
jmp 0x439747
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x160], eax
cmp edi, eax
jb 0x43b8f2
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43b8eb
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43b93e
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43b93e
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43b927
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], 2
je 0x43946b
cmp edi, dword [ebp - 0x160]
jae 0x43ba19
mov dword [ebp - 0x164], 1
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x43b996
movzx esi, al
jmp 0x43b9e0
movzx esi, al
cmp esi, 0xbf
jbe 0x43b9e0
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x164], edx
jg 0x43b9d9
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x43b9c4
inc edx
mov dword [ebp - 0x164], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], 2
jne 0x43ba19
add edi, dword [ebp - 0x164]
jmp 0x43b970
inc dword [ebp - 0xf0]
jmp 0x439747
mov esi, dword [ebp - 0xf0]
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
add esi, 3
or eax, edx
mov edx, dword [ebp + 0xc]
add eax, eax
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0x140], eax
cmp eax, edx
jge 0x43ba62
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x140]
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + ebx*4]
test edx, edx
jns 0x43ba7d
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x138], 0
cmp dword [esi + 0x48], 0
jne 0x43ba8f
mov eax, dword [esi + 0x68]
sub eax, edi
inc eax
jmp 0x43ba89
mov ecx, dword [ebp - 0x140]
mov eax, dword [eax + ecx*4 + 4]
sub eax, edx
mov dword [ebp - 0x138], eax
mov ebx, dword [ebp - 0xf0]
mov dl, byte [ebx]
movzx eax, dl
cmp eax, 0x46
jl 0x43bb3b
cmp eax, 0x4b
jle 0x43bab3
cmp eax, 0x4d
jg 0x43bb3b
jmp 0x43baf2
lea esi, [eax - 0x46]
inc dword [ebp - 0xf0]
mov eax, esi
movsx ebx, byte [esi + 0x643b46]
movsx esi, byte [esi + 0x643b40]
and eax, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], eax
test esi, esi
jne 0x43bb9c
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x43bb9c
xor eax, eax
cmp dl, 0x4d
mov edx, dword [ebp - 0xf0]
sete al
mov dword [ebp - 0xfc], eax
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
movzx eax, byte [edx + 3]
movzx edx, byte [edx + 4]
shl eax, 8
or eax, edx
mov dword [ebp - 0x13c], eax
jne 0x43bb32
mov dword [ebp - 0x13c], 0x7fffffff
add dword [ebp - 0xf0], 5
jmp 0x43bb9c
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x138]
mov edx, edi
mov eax, dword [ebp - 0x140]
call fcn.00439110
add esp, 0xc
test eax, eax
jne 0x43bb91
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x43bb8a
cmp edi, dword [ebx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43bb8a
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
add edi, dword [ebp - 0x138]
jmp 0x439747
cmp dword [ebp - 0x138], 0
je 0x439747
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43bc1f
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x138]
mov edx, edi
mov eax, dword [ebp - 0x140]
call fcn.00439110
add esp, 0xc
test eax, eax
jne 0x43bc11
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x43bc0a
cmp edi, dword [esi + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43bc0a
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
add edi, dword [ebp - 0x138]
inc dword [ebp - 0xf4]
jmp 0x43bbb3
cmp ebx, dword [ebp - 0x13c]
je 0x439747
cmp dword [ebp - 0xfc], 0
je 0x43bcea
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439472
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x439479
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x138]
mov edx, edi
mov eax, dword [ebp - 0x140]
call fcn.00439110
add esp, 0xc
test eax, eax
jne 0x43bcd9
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
je 0x43bcd2
cmp edi, dword [edx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43bcd2
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
add edi, dword [ebp - 0x138]
inc dword [ebp - 0xf4]
jmp 0x43bc3e
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x43bd6e
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x138]
mov edx, edi
mov eax, dword [ebp - 0x140]
call fcn.00439110
add esp, 0xc
test eax, eax
jne 0x43bd54
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x78]
test ecx, ecx
je 0x43bd6e
cmp edi, dword [eax + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43bd6e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
jmp 0x43bd6e
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x138]
cmp dword [ebp - 0xf4], ecx
jmp 0x43bcfe
cmp edi, dword [ebp - 0x10c]
jb 0x43bdae
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439480
sub edi, dword [ebp - 0x138]
jmp 0x43bd6e
xor edx, edx
jmp case.default.0x43f5e8
mov ebx, dword [ebp - 0xf0]
add dword [ebp - 0xf0], 0x21
inc ebx
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0x108], ebx
mov dl, byte [esi]
movzx eax, dl
cmp eax, 0x46
jl 0x43be6e
cmp eax, 0x4b
jle 0x43bded
cmp eax, 0x4d
jg 0x43be6e
jmp 0x43be25
lea esi, [eax - 0x46]
inc dword [ebp - 0xf0]
mov eax, esi
movsx ebx, byte [esi + 0x643b46]
movsx esi, byte [esi + 0x643b40]
and eax, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], eax
test esi, esi
jne 0x43be7d
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x43be7d
xor eax, eax
cmp dl, 0x4d
mov edx, dword [ebp - 0xf0]
sete al
mov dword [ebp - 0xfc], eax
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
movzx eax, byte [edx + 3]
movzx edx, byte [edx + 4]
shl eax, 8
or eax, edx
mov dword [ebp - 0x13c], eax
jne 0x43be65
mov dword [ebp - 0x13c], 0x7fffffff
add dword [ebp - 0xf0], 5
jmp 0x43be7d
mov dword [ebp - 0x13c], 1
mov ebx, 1
cmp dword [ebp - 0xf8], 0
je 0x43bf54
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43bfc6
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43bed8
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43bed1
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43bf13
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43bf13
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43befc
cmp esi, 0xff
jbe 0x43bf2b
cmp dword [ebp - 0x144], 0x4e
jne 0x43bf49
xor edx, edx
jmp case.default.0x43f5e8
mov eax, esi
mov edx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
mov ecx, esi
movzx eax, byte [eax + edx]
sar eax, cl
test al, 1
je 0x439487
inc dword [ebp - 0xf4]
jmp 0x43be94
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43bfc6
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43bf9c
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43bf95
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
mov eax, esi
mov edx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
mov ecx, esi
inc edi
movzx eax, byte [eax + edx]
sar eax, cl
test al, 1
je 0x43948e
inc dword [ebp - 0xf4]
jmp 0x43bf5e
cmp ebx, dword [ebp - 0x13c]
je 0x439747
cmp dword [ebp - 0xfc], 0
je 0x43c18b
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf8], 0
je 0x43c0e6
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439495
mov ebx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ebx
jge 0x43949c
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43c06a
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c063
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43c0a5
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43c0a5
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43c08e
cmp esi, 0xff
jbe 0x43c0bd
cmp dword [ebp - 0x144], 0x4e
jne 0x43c0db
xor edx, edx
jmp case.default.0x43f5e8
mov eax, esi
mov edx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
mov ecx, esi
movzx eax, byte [eax + edx]
sar eax, cl
test al, 1
je 0x4394a3
inc dword [ebp - 0xf4]
jmp 0x43bff2
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4394aa
mov ebx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ebx
jge 0x4394b1
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43c15e
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c157
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
mov eax, esi
mov edx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
mov ecx, esi
inc edi
movzx eax, byte [eax + edx]
sar eax, cl
test al, 1
je 0x4394b8
inc dword [ebp - 0xf4]
jmp 0x43c0e6
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0xf8], 0
je 0x43c2d8
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x43c289
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x168], 1
cmp edi, dword [eax + 0x68]
jb 0x43c1f7
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c289
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
jmp 0x43c289
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x43c241
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x168], edx
jg 0x43c23a
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x43c225
inc edx
mov dword [ebp - 0x168], edx
cmp esi, 0xff
jbe 0x43c252
cmp dword [ebp - 0x144], 0x4e
jmp 0x43c26a
mov eax, esi
mov ecx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
movzx eax, byte [eax + ecx]
mov ecx, esi
sar eax, cl
test al, 1
je 0x43c289
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x168]
cmp dword [ebp - 0xf4], ebx
jmp 0x43c1ac
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4394bf
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x43c389
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43c289
dec edi
jmp 0x43c2c8
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x43c34e
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43c31c
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c34e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
jmp 0x43c34e
movzx esi, byte [edi]
mov eax, esi
mov ecx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
movzx eax, byte [eax + ecx]
mov ecx, esi
sar eax, cl
test al, 1
je 0x43c34e
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], ebx
jmp 0x43c2e6
cmp edi, dword [ebp - 0x10c]
jb 0x43c389
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4394c6
dec edi
jmp 0x43c34e
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
add esi, 3
mov dword [ebp - 0x108], esi
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov dl, byte [ecx]
movzx eax, dl
cmp eax, 0x46
jl 0x43c45d
cmp eax, 0x4b
jle 0x43c3dc
cmp eax, 0x4d
jg 0x43c45d
jmp 0x43c414
lea esi, [eax - 0x46]
inc dword [ebp - 0xf0]
mov ebx, esi
and ebx, 1
mov dword [ebp - 0xfc], ebx
movsx ebx, byte [esi + 0x643b46]
movsx esi, byte [esi + 0x643b40]
mov dword [ebp - 0x13c], esi
test esi, esi
jne 0x43c46c
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x43c46c
xor eax, eax
mov esi, dword [ebp - 0xf0]
cmp dl, 0x4d
sete al
mov dword [ebp - 0xfc], eax
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 3]
movzx edx, byte [esi + 4]
shl eax, 8
or eax, edx
mov dword [ebp - 0x13c], eax
jne 0x43c454
mov dword [ebp - 0x13c], 0x7fffffff
add dword [ebp - 0xf0], 5
jmp 0x43c46c
mov dword [ebp - 0x13c], 1
mov ebx, 1
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43c528
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43c4bb
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c4b4
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43c507
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43c507
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43c4f0
push dword [ebp - 0x108]
push esi
call fcn.004433c0
pop ecx
test eax, eax
pop esi
je 0x4394cd
inc dword [ebp - 0xf4]
jmp 0x43c476
cmp ebx, dword [ebp - 0x13c]
je 0x439747
cmp dword [ebp - 0xfc], 0
je 0x43c62c
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4394d4
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x4394db
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x43c5bf
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c5b8
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43c60b
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43c60b
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43c5f4
push dword [ebp - 0x108]
push esi
call fcn.004433c0
pop esi
test eax, eax
pop edx
je 0x4394e2
inc dword [ebp - 0xf4]
jmp 0x43c547
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x43c715
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x16c], 1
cmp edi, dword [eax + 0x68]
jb 0x43c68b
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c715
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
jmp 0x43c715
movzx esi, byte [edi]
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43c6e6
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x16c], edx
jg 0x43c6df
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x43c6ca
inc edx
mov dword [ebp - 0x16c], edx
push dword [ebp - 0x108]
push esi
call fcn.004433c0
pop ecx
test eax, eax
pop ebx
je 0x43c715
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x16c]
cmp dword [ebp - 0xf4], ecx
jmp 0x43c640
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4394e9
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x43c769
cmp dword [ebp - 0xf8], 0
je 0x43c715
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43c715
dec edi
jmp 0x43c759
xor edx, edx
jmp case.default.0x43f5e8
cmp dword [ebp - 0xf8], 0
je 0x43c82f
inc dword [ebp - 0xf0]
mov dword [ebp - 0x138], 1
mov ebx, dword [ebp - 0xf0]
movzx esi, byte [ebx]
cmp esi, 0xbf
jbe 0x43c7bb
and esi, 0x3f
mov edx, 1
movzx eax, byte [esi + 0x644590]
cmp edx, eax
jg 0x43c7b4
inc edx
jmp 0x43c7ad
inc eax
mov dword [ebp - 0x138], eax
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x68]
mov eax, edx
sub eax, edi
cmp dword [ebp - 0x138], eax
jle 0x43c7ff
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x43c7f8
cmp edi, edx
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c7f8
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov eax, dword [ebp - 0x138]
dec dword [ebp - 0x138]
test eax, eax
jle 0x439747
mov ecx, dword [ebp - 0xf0]
mov dl, byte [edi]
inc edi
mov al, byte [ecx]
inc ecx
mov dword [ebp - 0xf0], ecx
cmp al, dl
jne 0x4394f0
jmp 0x43c7ff
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x68]
sub eax, edi
test eax, eax
jg 0x43c869
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c862
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp - 0xf0]
mov al, byte [edi]
inc edi
cmp byte [esi + 1], al
jne 0x4394f7
add esi, 2
mov dword [ebp - 0xf0], esi
jmp 0x439747
cmp dword [ebp - 0xf8], 0
je 0x43ca28
inc dword [ebp - 0xf0]
mov dword [ebp - 0x138], 1
mov eax, dword [ebp - 0xf0]
mov al, byte [eax]
movzx esi, al
mov byte [ebp - 0x16d], al
cmp esi, 0xbf
jbe 0x43c90e
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
mov dword [ebp - 0x1fc], ecx
shl esi, cl
cmp ebx, edx
jg 0x43c907
sub dword [ebp - 0x1fc], 6
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [ebx + ecx]
mov cl, byte [ebp - 0x1fc]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
jmp 0x43c8e2
inc edx
mov dword [ebp - 0x138], edx
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebx + 0x68]
mov eax, edx
sub eax, edi
cmp dword [ebp - 0x138], eax
jle 0x43c952
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x43c94b
cmp edi, edx
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43c94b
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0x7f
mov al, byte [edi]
lea ebx, [edi + 1]
ja 0x43c987
mov esi, dword [ebp + 0x10]
inc dword [ebp - 0xf0]
mov edx, dword [esi + 0x30]
mov edi, ebx
movzx ecx, byte [ebp - 0x16d]
movzx eax, al
mov al, byte [eax + edx]
cmp byte [ecx + edx], al
je 0x439747
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, al
mov dword [ebp - 0x1fc], eax
mov edi, ebx
cmp eax, 0xbf
jbe 0x43c9d8
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ebx, edx, 6
mov eax, dword [edx*4 + 0x6445d0]
mov cl, bl
and dword [ebp - 0x1fc], eax
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x43c9d8
movzx eax, byte [edi]
sub ebx, 6
and eax, 0x3f
mov cl, bl
inc edi
shl eax, cl
or dword [ebp - 0x1fc], eax
jmp 0x43c9bb
mov ebx, dword [ebp - 0x138]
add dword [ebp - 0xf0], ebx
cmp esi, dword [ebp - 0x1fc]
je 0x439747
mov eax, esi
mov edx, esi
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, edx
movzx eax, word [eax + eax + 0x6446b0]
add esi, dword [eax*8 + 0x6506b4]
cmp dword [ebp - 0x1fc], esi
je 0x439747
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0x68]
sub eax, edi
test eax, eax
jg 0x43ca62
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43ca5b
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov eax, dword [ebp - 0xf0]
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [eax + 1]
movzx eax, byte [edi]
mov edx, dword [ebx + 0x30]
inc edi
mov al, byte [eax + edx]
cmp byte [ecx + edx], al
jne 0x4394fe
add dword [ebp - 0xf0], 2
jmp 0x439747
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
movzx esi, byte [esi + 1]
movzx eax, byte [edx + 2]
shl esi, 8
add edx, 3
or esi, eax
mov dword [ebp - 0xf0], edx
mov ebx, esi
mov dword [ebp - 0x13c], esi
jmp 0x43cb84
mov dword [ebp - 0x100], 1
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xf0]
xor ebx, ebx
movzx ecx, byte [ecx + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
xor eax, eax
cmp dl, 0x26
mov dword [ebp - 0x13c], ecx
sete al
add esi, 3
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf0], esi
jmp 0x43cb84
xor ebx, ebx
mov dword [ebp - 0x100], 1
jmp 0x43cb21
mov dword [ebp - 0x100], 1
mov ebx, 1
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x43cb43
mov dword [ebp - 0x100], 1
xor ebx, ebx
mov dword [ebp - 0x13c], 1
inc dword [ebp - 0xf0]
jmp 0x43cb84
movzx eax, dl
inc dword [ebp - 0xf0]
lea esi, [eax - 0x1f]
mov eax, esi
movsx ebx, byte [esi + 0x643b46]
movsx esi, byte [esi + 0x643b40]
and eax, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], eax
test esi, esi
jne 0x43cb84
mov dword [ebp - 0x13c], 0x7fffffff
mov edx, dword [ebp - 0xf0]
cmp dword [ebp - 0xf8], 0
mov al, byte [edx]
je 0x43cf73
movzx esi, al
mov dword [ebp - 0x138], 1
mov dword [ebp - 0x104], edx
cmp esi, 0xbf
jbe 0x43cc1d
mov eax, esi
mov dword [ebp - 0x174], 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
mov dword [ebp - 0x1fc], ecx
shl esi, cl
cmp dword [ebp - 0x138], edx
jg 0x43cc16
sub dword [ebp - 0x1fc], 6
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [eax + ecx]
inc dword [ebp - 0x174]
and eax, 0x3f
mov cl, byte [ebp - 0x1fc]
shl eax, cl
or esi, eax
cmp dword [ebp - 0x174], edx
jmp 0x43cbe2
inc edx
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x138]
add dword [ebp - 0xf0], eax
dec eax
jle 0x43cf7c
test byte [ebp + 0x14], 1
je 0x43cc78
mov eax, esi
mov edx, esi
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, edx
mov edx, esi
movzx eax, word [eax + eax + 0x6446b0]
add edx, dword [eax*8 + 0x6506b4]
cmp edx, esi
je 0x43cc78
lea eax, [ebp - 0xec]
push eax
push edx
call fcn.00443000
mov dword [ebp - 0x130], eax
pop eax
pop edx
jmp 0x43cc82
mov dword [ebp - 0x130], 0
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43cd41
mov edx, dword [ebp + 0x10]
mov esi, dword [edx + 0x68]
mov eax, esi
sub eax, dword [ebp - 0x138]
cmp edi, eax
ja 0x43cccb
push dword [ebp - 0x138]
push dword [ebp - 0x104]
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43cccb
add edi, dword [ebp - 0x138]
jmp 0x43cd36
cmp dword [ebp - 0x130], 0
jle 0x43cd00
sub esi, dword [ebp - 0x130]
cmp edi, esi
ja 0x43cd00
push dword [ebp - 0x130]
lea eax, [ebp - 0xec]
push eax
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43cd00
add edi, dword [ebp - 0x130]
jmp 0x43cd36
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x43cd2f
cmp edi, dword [ebx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43cd2f
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43cc8c
cmp ebx, dword [ebp - 0x13c]
je 0x439747
cmp dword [ebp - 0xfc], 0
je 0x43ce4e
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439505
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jge 0x43950c
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x68]
mov eax, ebx
sub eax, dword [ebp - 0x138]
cmp edi, eax
ja 0x43cdd5
push dword [ebp - 0x138]
push dword [ebp - 0x104]
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43cdd5
add edi, dword [ebp - 0x138]
jmp 0x43ce43
cmp dword [ebp - 0x130], 0
jle 0x43ce0a
sub ebx, dword [ebp - 0x130]
cmp edi, ebx
ja 0x43ce0a
push dword [ebp - 0x130]
lea eax, [ebp - 0xec]
push eax
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43ce0a
add edi, dword [ebp - 0x130]
jmp 0x43ce43
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
je 0x43ce3c
cmp edi, dword [edx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43ce3c
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43cd60
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x43cf1a
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x68]
mov eax, ebx
sub eax, dword [ebp - 0x138]
cmp edi, eax
ja 0x43ce9b
push dword [ebp - 0x138]
push dword [ebp - 0x104]
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43ce9b
add edi, dword [ebp - 0x138]
jmp 0x43cf03
cmp dword [ebp - 0x130], 0
jle 0x43ced0
sub ebx, dword [ebp - 0x130]
cmp edi, ebx
ja 0x43ced0
push dword [ebp - 0x130]
lea eax, [ebp - 0xec]
push eax
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x43ced0
add edi, dword [ebp - 0x130]
jmp 0x43cf03
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
je 0x43cf1a
cmp edi, dword [edx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43cf1a
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x43cf1a
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jmp 0x43ce62
cmp dword [ebp - 0x100], 0
jne 0x439747
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439513
cmp edi, dword [ebp - 0x10c]
je 0x43951a
dec edi
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43cf27
jmp 0x43cf63
inc dword [ebp - 0xf0]
movzx esi, al
test byte [ebp + 0x14], 1
je 0x43d16b
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x30]
movzx esi, byte [esi + edx]
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43cff2
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43cfda
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43cfd3
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
movzx eax, byte [eax + edx]
cmp esi, eax
jne 0x439521
inc dword [ebp - 0xf4]
jmp 0x43cf9a
cmp ebx, dword [ebp - 0x13c]
je 0x439747
cmp dword [ebp - 0xfc], 0
je 0x43d0ad
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439528
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x43952f
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x43d08c
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d085
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx eax, byte [edi]
mov edx, dword [ecx + 0x30]
inc edi
movzx eax, byte [eax + edx]
cmp esi, eax
jne 0x439536
inc dword [ebp - 0xf4]
jmp 0x43d011
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x43d11c
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x43d0f6
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d11c
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x43d11c
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx eax, byte [edi]
mov edx, dword [ecx + 0x30]
movzx eax, byte [eax + edx]
cmp esi, eax
jne 0x43d11c
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], ebx
jmp 0x43d0c1
cmp dword [ebp - 0x100], 0
jne 0x439747
cmp edi, dword [ebp - 0x10c]
jb 0x43d164
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
dec edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x43953d
jmp 0x43d129
xor edx, edx
jmp case.default.0x43f5e8
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43d1ca
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43d1b6
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d1af
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
cmp esi, eax
jne 0x439544
inc dword [ebp - 0xf4]
jmp 0x43d175
cmp ebx, dword [ebp - 0x13c]
je 0x439747
cmp dword [ebp - 0xfc], 0
je 0x43d278
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x43954b
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x439552
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x43d261
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d25a
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
cmp esi, eax
jne 0x439559
inc dword [ebp - 0xf4]
jmp 0x43d1e9
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x43d2dd
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x43d2c1
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d2dd
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x43d2dd
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx eax, byte [edi]
cmp esi, eax
jne 0x43d2dd
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x43d28c
cmp dword [ebp - 0x100], 0
jne 0x439747
cmp edi, dword [ebp - 0x10c]
jb 0x43d325
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
dec edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439560
jmp 0x43d2ea
xor edx, edx
jmp case.default.0x43f5e8
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x43d365
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d35e
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf0]
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43d3b7
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43d3b7
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43d3a0
test byte [ebp + 0x14], 1
je 0x43d3f8
cmp esi, 0xff
ja 0x43d3cf
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x30]
movzx esi, byte [esi + eax]
mov ecx, dword [ebp - 0xf0]
mov ebx, dword [ebp + 0x10]
movzx eax, byte [ecx]
mov edx, dword [ebx + 0x30]
inc ecx
movzx eax, byte [eax + edx]
mov dword [ebp - 0xf0], ecx
cmp eax, esi
jne 0x439747
xor edx, edx
jmp case.default.0x43f5e8
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx]
inc edx
cmp eax, esi
mov dword [ebp - 0xf0], edx
jne 0x439747
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp - 0xf0]
mov ebx, dword [ebp - 0xf0]
movzx ecx, byte [ecx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
add dword [ebp - 0xf0], 3
or ecx, eax
mov ebx, ecx
mov dword [ebp - 0x13c], ecx
jmp 0x43d537
mov esi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
xor ebx, ebx
movzx esi, byte [esi + 1]
movzx eax, byte [ecx + 2]
shl esi, 8
or esi, eax
xor eax, eax
cmp dl, 0x33
mov dword [ebp - 0x13c], esi
sete al
add ecx, 3
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf0], ecx
jmp 0x43d537
xor ebx, ebx
mov dword [ebp - 0x100], 1
jmp 0x43d49e
mov dword [ebp - 0x100], 1
mov ebx, 1
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x43d4c0
mov dword [ebp - 0x100], 1
xor ebx, ebx
mov dword [ebp - 0x13c], 1
inc dword [ebp - 0xf0]
jmp 0x43d537
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x100], 1
xor ebx, ebx
movzx esi, byte [esi + 1]
movzx eax, byte [edx + 2]
shl esi, 8
add edx, 3
or esi, eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x13c], esi
jmp 0x43d537
movzx eax, dl
inc dword [ebp - 0xf0]
lea esi, [eax - 0x2c]
mov ecx, esi
movsx ebx, byte [esi + 0x643b46]
movsx esi, byte [esi + 0x643b40]
and ecx, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], ecx
test esi, esi
jne 0x43d537
mov dword [ebp - 0x13c], 0x7fffffff
mov eax, dword [ebp - 0xf0]
movzx esi, byte [eax]
inc eax
test byte [ebp + 0x14], 1
mov dword [ebp - 0xf0], eax
je 0x43daa5
mov edx, dword [ebp + 0x10]
cmp dword [ebp - 0xf8], 0
mov edx, dword [edx + 0x30]
mov dword [ebp - 0x178], edx
movzx esi, byte [esi + edx]
je 0x43d651
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43d6b9
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43d5bc
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d5b5
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x1fc], eax
cmp eax, 0xbf
jbe 0x43d618
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
mov eax, dword [edx*4 + 0x6445d0]
mov dword [ebp - 0x17c], ecx
and dword [ebp - 0x1fc], eax
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x43d618
sub dword [ebp - 0x17c], 6
movzx eax, byte [edi]
mov cl, byte [ebp - 0x17c]
and eax, 0x3f
shl eax, cl
or dword [ebp - 0x1fc], eax
inc edi
jmp 0x43d5f3
cmp dword [ebp - 0x1fc], 0xff
ja 0x43d63a
mov eax, dword [ebp - 0x1fc]
mov edx, dword [ebp - 0x178]
movzx eax, byte [eax + edx]
mov dword [ebp - 0x1fc], eax
cmp esi, dword [ebp - 0x1fc]
je 0x439567
inc dword [ebp - 0xf4]
jmp 0x43d578
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43d6b9
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43d69b
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d694
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
mov edx, dword [ebp - 0x178]
inc edi
movzx eax, byte [eax + edx]
cmp esi, eax
je 0x43956e
inc dword [ebp - 0xf4]
jmp 0x43d65b
cmp ebx, dword [ebp - 0x13c]
je 0x439747
cmp dword [ebp - 0xfc], 0
je 0x43d87f
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf8], 0
je 0x43d7e6
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439575
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x43957c
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x43d75d
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d756
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x1fc], eax
cmp eax, 0xbf
jbe 0x43d7ad
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ebx, edx, 6
mov ecx, dword [edx*4 + 0x6445d0]
and dword [ebp - 0x1fc], ecx
mov cl, bl
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x43d7ad
movzx eax, byte [edi]
sub ebx, 6
and eax, 0x3f
mov cl, bl
inc edi
shl eax, cl
or dword [ebp - 0x1fc], eax
jmp 0x43d790
cmp dword [ebp - 0x1fc], 0xff
ja 0x43d7cf
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x1fc]
mov eax, dword [ebx + 0x30]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x1fc], eax
cmp esi, dword [ebp - 0x1fc]
je 0x439583
inc dword [ebp - 0xf4]
jmp 0x43d6e5
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x43958a
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x439591
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x43d85e
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d857
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx eax, byte [edi]
mov edx, dword [ecx + 0x30]
inc edi
movzx eax, byte [eax + edx]
cmp esi, eax
je 0x439598
inc dword [ebp - 0xf4]
jmp 0x43d7e6
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0xf8], 0
je 0x43d9ee
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x43d992
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x180], 1
cmp edi, dword [edx + 0x68]
jb 0x43d8eb
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43d992
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x43d992
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx edx, byte [edi]
cmp edx, 0xbf
jbe 0x43d95f
mov eax, edx
mov dword [ebp - 0x184], 1
and eax, 0x3f
movzx eax, byte [eax + 0x644590]
imul ebx, eax, 6
and edx, dword [eax*4 + 0x6445d0]
mov cl, bl
shl edx, cl
cmp dword [ebp - 0x180], eax
mov dword [ebp - 0x1fc], eax
jg 0x43d952
mov ecx, dword [ebp - 0x184]
sub ebx, 6
movzx eax, byte [ecx + edi]
mov cl, bl
and eax, 0x3f
inc dword [ebp - 0x184]
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0x1fc]
cmp dword [ebp - 0x184], eax
jmp 0x43d926
mov ecx, dword [ebp - 0x1fc]
inc ecx
mov dword [ebp - 0x180], ecx
cmp edx, 0xff
ja 0x43d971
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x30]
movzx edx, byte [edx + eax]
cmp esi, edx
je 0x43d992
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
add edi, dword [ebp - 0x180]
cmp dword [ebp - 0xf4], eax
jmp 0x43d8a0
cmp dword [ebp - 0x100], 0
jne 0x439747
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x43959f
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x43da9e
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43d99f
dec edi
jmp 0x43d9de
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x43da56
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43da30
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43da56
mov dword [ebx + 0x58], 1
dec ecx
jle 0x43da56
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx eax, byte [edi]
mov edx, dword [ecx + 0x30]
movzx eax, byte [eax + edx]
cmp esi, eax
je 0x43da56
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], ebx
jmp 0x43d9fc
cmp dword [ebp - 0x100], 0
jne 0x439747
cmp edi, dword [ebp - 0x10c]
jb 0x43da9e
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4395a6
dec edi
jmp 0x43da63
xor edx, edx
jmp case.default.0x43f5e8
cmp dword [ebp - 0xf8], 0
je 0x43db7f
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43dbde
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43db01
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43dafa
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx ecx, byte [edi]
inc edi
mov dword [ebp - 0x1fc], ecx
cmp ecx, 0xbf
jbe 0x43db68
mov eax, ecx
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul eax, edx, 6
mov dword [ebp - 0x188], eax
mov eax, dword [edx*4 + 0x6445d0]
and ecx, eax
mov dword [ebp - 0x1fc], ecx
mov cl, byte [ebp - 0x188]
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x43db68
sub dword [ebp - 0x188], 6
movzx eax, byte [edi]
mov cl, byte [ebp - 0x188]
and eax, 0x3f
shl eax, cl
or dword [ebp - 0x1fc], eax
inc edi
jmp 0x43db43
cmp esi, dword [ebp - 0x1fc]
je 0x4395ad
inc dword [ebp - 0xf4]
jmp 0x43dabc
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43dbde
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43dbca
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43dbc3
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
cmp esi, eax
je 0x4395b4
inc dword [ebp - 0xf4]
jmp 0x43db89
cmp ebx, dword [ebp - 0x13c]
je 0x439747
cmp dword [ebp - 0xfc], 0
je 0x43dd7b
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf8], 0
je 0x43dce9
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4395bb
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x4395c2
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x43dc82
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43dc7b
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x1fc], eax
cmp eax, 0xbf
jbe 0x43dcd2
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ebx, edx, 6
mov ecx, dword [edx*4 + 0x6445d0]
and dword [ebp - 0x1fc], ecx
mov cl, bl
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x43dcd2
movzx eax, byte [edi]
sub ebx, 6
and eax, 0x3f
mov cl, bl
inc edi
shl eax, cl
or dword [ebp - 0x1fc], eax
jmp 0x43dcb5
cmp esi, dword [ebp - 0x1fc]
je 0x4395c9
inc dword [ebp - 0xf4]
jmp 0x43dc0a
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4395d0
mov ebx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ebx
jge 0x4395d7
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43dd64
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43dd5d
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
cmp esi, eax
je 0x4395de
inc dword [ebp - 0xf4]
jmp 0x43dce9
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0xf8], 0
je 0x43ded5
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, ecx
jge 0x43de79
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x18c], 1
cmp edi, dword [ebx + 0x68]
jb 0x43dde4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43de79
mov dword [ebx + 0x58], 1
dec ecx
jle 0x43de79
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx edx, byte [edi]
cmp edx, 0xbf
jbe 0x43de58
mov eax, edx
mov dword [ebp - 0x190], 1
and eax, 0x3f
movzx eax, byte [eax + 0x644590]
imul ebx, eax, 6
and edx, dword [eax*4 + 0x6445d0]
mov cl, bl
shl edx, cl
cmp dword [ebp - 0x18c], eax
mov dword [ebp - 0x1fc], eax
jg 0x43de4b
mov ecx, dword [ebp - 0x190]
sub ebx, 6
movzx eax, byte [ecx + edi]
mov cl, bl
and eax, 0x3f
inc dword [ebp - 0x190]
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0x1fc]
cmp dword [ebp - 0x190], eax
jmp 0x43de1f
mov ecx, dword [ebp - 0x1fc]
inc ecx
mov dword [ebp - 0x18c], ecx
cmp esi, edx
je 0x43de79
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x18c]
cmp dword [ebp - 0xf4], ebx
jmp 0x43dd9c
cmp dword [ebp - 0x100], 0
jne 0x439747
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4395e5
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x43df7c
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43de86
dec edi
jmp 0x43dec5
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x43df34
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x43df18
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43df34
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x43df34
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx eax, byte [edi]
cmp esi, eax
je 0x43df34
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x43dee3
cmp dword [ebp - 0x100], 0
jne 0x439747
cmp edi, dword [ebp - 0x10c]
jb 0x43df7c
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4395ec
dec edi
jmp 0x43df41
xor edx, edx
jmp case.default.0x43f5e8
mov edx, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
movzx edx, byte [edx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
mov dword [ebp - 0xfc], 1
or edx, eax
mov ebx, edx
mov dword [ebp - 0x13c], edx
jmp 0x43dfdf
mov esi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
xor ebx, ebx
movzx esi, byte [esi + 1]
movzx eax, byte [ecx + 2]
shl esi, 8
or esi, eax
xor eax, eax
cmp dl, 0x40
mov dword [ebp - 0x13c], esi
sete al
mov dword [ebp - 0xfc], eax
add ecx, 3
mov dword [ebp - 0xf0], ecx
jmp 0x43e0a3
xor ebx, ebx
mov dword [ebp - 0x100], 1
jmp 0x43e00a
mov dword [ebp - 0x100], 1
mov ebx, 1
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x43e02c
mov dword [ebp - 0x100], 1
xor ebx, ebx
mov dword [ebp - 0x13c], 1
inc dword [ebp - 0xf0]
jmp 0x43e0a3
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x100], 1
xor ebx, ebx
movzx esi, byte [esi + 1]
movzx eax, byte [edx + 2]
shl esi, 8
add edx, 3
or esi, eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x13c], esi
jmp 0x43e0a3
movzx eax, dl
inc dword [ebp - 0xf0]
lea esi, [eax - 0x39]
mov ecx, esi
movsx ebx, byte [esi + 0x643b46]
movsx esi, byte [esi + 0x643b40]
and ecx, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], ecx
test esi, esi
jne 0x43e0a3
mov dword [ebp - 0x13c], 0x7fffffff
mov esi, dword [ebp - 0xf0]
movzx esi, byte [esi]
mov eax, esi
inc dword [ebp - 0xf0]
sub eax, 0xf
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x124], 0xffffffff
cmp eax, 1
ja 0x43e104
xor eax, eax
cmp esi, 0xf
sete al
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xf0]
movzx eax, byte [eax]
inc dword [ebp - 0xf0]
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0xf0]
movzx edx, byte [edx]
inc dword [ebp - 0xf0]
mov dword [ebp - 0x128], edx
test ebx, ebx
jle 0x43f5aa
cmp dword [ebp - 0x124], 0
js 0x43e56d
cmp dword [ebp - 0x124], 4
ja case.default.0x43e12c
mov ecx, dword [ebp - 0x124]
jmp dword [ecx*4 + 0x643d2c]
cmp dword [ebp - 0x12c], 0
jne 0x4395f3
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43e18c
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e185
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43e1bd
and esi, 0x3f
movzx edx, byte [esi + 0x644590]
mov eax, edx
dec edx
test eax, eax
jle 0x43e1bd
inc edi
jmp 0x43e1b3
inc dword [ebp - 0xf4]
jmp 0x43e14a
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43e214
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e20d
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43e260
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43e260
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43e249
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
xor esi, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx ecx, byte [eax*8 + 0x6506b1]
cmp ecx, 9
sete dl
cmp ecx, 5
sete al
or eax, edx
test al, 1
jne 0x43e29d
cmp ecx, 8
jne 0x43e2a2
mov esi, 1
cmp esi, dword [ebp - 0x12c]
je 0x4395fa
inc dword [ebp - 0xf4]
jmp 0x43e1cf
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43e307
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e300
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43e353
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43e353
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43e33c
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
mov esi, dword [ebp - 0x128]
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], esi
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je 0x439601
inc dword [ebp - 0xf4]
jmp 0x43e2c3
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43e3f0
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e3e9
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43e43c
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43e43c
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43e425
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx ecx, byte [eax*8 + 0x6506b1]
xor eax, eax
cmp ecx, dword [ebp - 0x128]
sete al
cmp eax, dword [ebp - 0x12c]
je 0x439608
inc dword [ebp - 0xf4]
jmp 0x43e3ab
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43e4d0
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e4c9
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43e51c
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43e51c
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43e505
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b0]
cmp eax, dword [ebp - 0x128]
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je 0x43960f
inc dword [ebp - 0xf4]
jmp 0x43e48c
mov edx, 0xfffffff2
jmp case.default.0x43f5e8
cmp dword [ebp - 0x134], 0x16
jne 0x43e72a
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
mov esi, dword [esi + 0x68]
mov dword [ebp - 0x194], esi
cmp edi, esi
jb 0x43e5d4
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e5cd
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43e620
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43e620
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43e609
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], 2
je 0x439616
cmp edi, dword [ebp - 0x194]
jae 0x43e71f
mov dword [ebp - 0x198], 1
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x43e678
movzx esi, al
jmp 0x43e6e6
movzx esi, al
cmp esi, 0xbf
jbe 0x43e6e6
mov eax, esi
mov dword [ebp - 0x19c], 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
mov dword [ebp - 0x1fc], ecx
shl esi, cl
cmp dword [ebp - 0x198], edx
jg 0x43e6df
sub dword [ebp - 0x1fc], 6
mov ecx, dword [ebp - 0x19c]
movzx eax, byte [ecx + edi]
inc dword [ebp - 0x19c]
and eax, 0x3f
mov cl, byte [ebp - 0x1fc]
shl eax, cl
or esi, eax
cmp dword [ebp - 0x19c], edx
jmp 0x43e6b1
inc edx
mov dword [ebp - 0x198], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], 2
jne 0x43e71f
add edi, dword [ebp - 0x198]
jmp 0x43e652
inc dword [ebp - 0xf4]
jmp 0x43e584
mov esi, dword [ebp - 0x134]
cmp dword [ebp - 0xf8], 0
lea eax, [esi - 6]
je 0x43ef9d
cmp eax, 0xf
ja case.0x43e749.9
jmp dword [eax*4 + 0x643d40]
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x68]
cmp edi, edx
jb 0x43e7a1
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e79a
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x43e7c8
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x43e7e8
jmp 0x43e7ef
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x43e7ef
mov edx, eax
mov al, byte [eax + 0x2c]
cmp byte [edi], al
jne 0x43e7ef
dec ecx
je 0x43e7e8
mov al, byte [edx + 0x2d]
cmp byte [edi + 1], al
jne 0x43e7ef
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
inc edi
mov edx, dword [ecx + 0x68]
jmp 0x43e806
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43e80a
inc edi
cmp edi, edx
jb 0x43e7f8
inc dword [ebp - 0xf4]
jmp 0x43e75a
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x68]
cmp edi, edx
jb 0x43e870
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e85c
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x43e875
inc edi
cmp edi, edx
jb 0x43e863
inc dword [ebp - 0xf4]
jmp 0x43e81f
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
sub eax, ebx
cmp edi, eax
ja 0x43961d
jmp 0x43f0c4
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x68]
mov dword [ebp - 0x1a0], ecx
cmp edi, ecx
jb 0x43e8e9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e8e2
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43e924
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43e924
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43e90d
cmp esi, 0xd
je 0x43e950
ja 0x43e934
cmp esi, 0xa
je 0x43e96d
jb 0x43e949
jmp 0x43e960
cmp esi, 0x85
je 0x43e960
jb 0x43e949
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x43e960
xor edx, edx
jmp case.default.0x43f5e8
cmp edi, dword [ebp - 0x1a0]
jae 0x43e96d
cmp byte [edi], 0xa
jne 0x43e96d
inc edi
jmp 0x43e96d
mov esi, dword [ebp + 0x10]
cmp dword [esi + 0x5c], 0
jne 0x439624
inc dword [ebp - 0xf4]
jmp 0x43e89c
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43e9c7
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43e9c0
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43ea02
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43ea02
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43e9eb
cmp esi, 0x180e
je 0x43ea4f
ja 0x43ea28
cmp esi, 0x20
je 0x43ea4f
ja 0x43ea18
cmp esi, 9
jmp 0x43ea4d
cmp esi, 0xa0
je 0x43ea4f
cmp esi, 0x1680
jmp 0x43ea4d
cmp esi, 0x202f
je 0x43ea4f
ja 0x43ea3f
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x43ea56
jmp 0x43ea4f
cmp esi, 0x205f
je 0x43ea4f
cmp esi, 0x3000
jne 0x43ea56
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43e982
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43eaaf
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43eaa8
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43eaea
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43eaea
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43ead3
cmp esi, 0x180e
je 0x43eb3e
ja 0x43eb10
cmp esi, 0x20
je 0x43eb3e
ja 0x43eb00
cmp esi, 9
jmp 0x43eb35
cmp esi, 0xa0
je 0x43eb3e
cmp esi, 0x1680
jmp 0x43eb35
cmp esi, 0x202f
je 0x43eb3e
ja 0x43eb27
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x43eb37
jmp 0x43eb3e
cmp esi, 0x205f
je 0x43eb3e
cmp esi, 0x3000
je 0x43eb3e
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43ea6b
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43eb95
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43eb8e
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43ebd0
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43ebd0
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43ebb9
cmp esi, 0x85
je 0x43ebed
ja 0x43ebe2
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x43ebeb
lea eax, [esi - 0x2028]
cmp eax, 1
ja 0x43ebf4
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43eb53
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43ec4e
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43ec47
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43ec89
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43ec89
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43ec72
cmp esi, 0x85
je 0x43ecad
ja 0x43ec9b
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x43eca4
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x43ecad
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43ec09
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43ed06
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43ecff
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43ed41
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43ed41
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43ed2a
cmp esi, 0x7f
ja 0x43ed56
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 4
jne 0x43962b
inc dword [ebp - 0xf4]
jmp 0x43ecc2
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43edaf
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43eda8
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov al, byte [edi]
test al, al
js 0x43edc5
mov esi, dword [ebp + 0x10]
inc edi
movzx edx, al
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
jne 0x43edcc
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43ed6b
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x68]
cmp edi, ecx
jb 0x43ee25
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43ee1e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov al, byte [edi]
test al, al
js 0x43ee3e
mov esi, dword [ebp + 0x10]
movzx edx, al
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
jne 0x439632
inc edi
cmp edi, ecx
jae 0x43ee50
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
je 0x43ee3e
inc dword [ebp - 0xf4]
jmp 0x43edde
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43eea7
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43eea0
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov al, byte [edi]
test al, al
js 0x43eebd
mov ecx, dword [ebp + 0x10]
inc edi
movzx edx, al
mov eax, dword [ecx + 0x34]
test byte [edx + eax], 1
jne 0x43eec4
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43ee62
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x68]
cmp edi, ecx
jae 0x43eefe
mov al, byte [edi]
test al, al
js 0x43ef05
movzx edx, al
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
je 0x43ef05
xor edx, edx
jmp case.default.0x43f5e8
inc edi
cmp edi, ecx
jae 0x43ef17
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
je 0x43ef05
inc dword [ebp - 0xf4]
jmp 0x43eed6
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43ef6e
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43ef67
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov al, byte [edi]
test al, al
js 0x43ef84
mov ecx, dword [ebp + 0x10]
inc edi
movzx edx, al
mov eax, dword [ecx + 0x34]
test byte [edx + eax], 0x10
jne 0x43ef8b
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43ef29
mov edx, 0xfffffff2
jmp case.default.0x43f5e8
cmp eax, 0xf
ja case.0x43efa6.9
jmp dword [eax*4 + 0x643d80]
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x68]
cmp edi, edx
jb 0x43effb
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43eff4
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x43f01c
add eax, 0x1c
push 0
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x43f03a
jmp 0x43f041
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x43f041
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x43f041
dec ecx
je 0x43f03a
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
jne 0x43f041
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
inc edi
jmp 0x43efb7
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
sub eax, ebx
cmp edi, eax
jbe 0x43f0c4
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f083
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0x68]
sub eax, ebx
cmp edi, eax
jbe 0x43f0c4
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f0bd
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
add edi, ebx
jmp 0x43f5aa
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x68]
cmp edi, edx
jb 0x43f11c
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f115
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
cmp eax, 0xc
jg 0x43f131
cmp eax, 0xb
jge 0x43f150
cmp eax, 0xa
je 0x43f15d
jmp 0x43f13d
cmp eax, 0xd
je 0x43f144
cmp eax, 0x85
je 0x43f150
xor edx, edx
jmp case.default.0x43f5e8
cmp edi, edx
jae 0x43f15d
cmp byte [edi], 0xa
jne 0x43f15d
inc edi
jmp 0x43f15d
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x5c], 0
jne 0x439639
inc dword [ebp - 0xf4]
jmp 0x43f0d5
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43f1b4
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f1ad
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
cmp eax, 0x20
je 0x43f1cb
jg 0x43f1c4
cmp eax, 9
jmp 0x43f1c9
cmp eax, 0xa0
jne 0x43f1d2
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43f172
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43f229
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f222
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
cmp eax, 0x20
je 0x43f247
jg 0x43f239
cmp eax, 9
jmp 0x43f23e
cmp eax, 0xa0
je 0x43f247
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43f1e4
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x43f29d
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f296
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl 0x43f2b9
cmp eax, 0xd
jle 0x43f2b2
cmp eax, 0x85
jne 0x43f2b9
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43f259
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43f30d
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f306
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl 0x43f322
cmp eax, 0xd
jle 0x43f329
cmp eax, 0x85
je 0x43f329
xor edx, edx
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43f2cb
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43f380
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f379
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 4
jne 0x439640
inc dword [ebp - 0xf4]
jmp 0x43f33b
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43f3e8
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f3e1
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 4
je 0x439647
inc dword [ebp - 0xf4]
jmp 0x43f3a6
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43f450
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f449
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 1
jne 0x43964e
inc dword [ebp - 0xf4]
jmp 0x43f40e
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43f4b8
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f4b1
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 1
je 0x439655
inc dword [ebp - 0xf4]
jmp 0x43f476
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43f520
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f519
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 0x10
jne 0x43965c
inc dword [ebp - 0xf4]
jmp 0x43f4de
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x43f5aa
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x43f584
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f57d
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 0x10
je 0x439663
inc dword [ebp - 0xf4]
jmp 0x43f546
mov edx, 0xfffffff2
jmp case.default.0x43f5e8
cmp ebx, dword [ebp - 0x13c]
je 0x439747
cmp dword [ebp - 0xfc], 0
je 0x440256
cmp dword [ebp - 0x124], 0
js 0x43fac9
mov edx, 0xfffffff2
cmp dword [ebp - 0x124], 4
ja case.default.0x43f5e8
mov esi, dword [ebp - 0x124]
jmp dword [esi*4 + 0x643dc0]
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x43966a
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x439671
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x43f670
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f669
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43f690
and esi, 0x3f
movzx edx, byte [esi + 0x644590]
mov eax, edx
dec edx
test eax, eax
jle 0x43f690
inc edi
jmp 0x43f686
cmp dword [ebp - 0x12c], 0
jne 0x439678
inc dword [ebp - 0xf4]
jmp 0x43f5f5
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x43967f
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jge 0x439686
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43f729
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f722
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43f764
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43f764
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43f74d
mov eax, esi
and esi, 0x7f
shr eax, 7
xor ebx, ebx
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx ecx, byte [eax*8 + 0x6506b1]
cmp ecx, 9
sete dl
cmp ecx, 5
sete al
or eax, edx
test al, 1
jne 0x43f7a1
cmp ecx, 8
jne 0x43f7a6
mov ebx, 1
cmp ebx, dword [ebp - 0x12c]
je 0x43968d
inc dword [ebp - 0xf4]
jmp 0x43f6ae
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439694
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x43969b
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x43f83b
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f834
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43f876
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43f876
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43f85f
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
mov esi, dword [ebp - 0x128]
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], esi
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je 0x4396a2
inc dword [ebp - 0xf4]
jmp 0x43f7c3
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4396a9
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x4396b0
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x43f945
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43f93e
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43f980
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43f980
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43f969
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx ecx, byte [eax*8 + 0x6506b1]
xor eax, eax
cmp ecx, dword [ebp - 0x128]
sete al
cmp eax, dword [ebp - 0x12c]
je 0x4396b7
inc dword [ebp - 0xf4]
jmp 0x43f8ca
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4396be
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jge 0x4396c5
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x43fa47
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43fa40
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43fa82
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43fa82
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43fa6b
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b0]
cmp eax, dword [ebp - 0x128]
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je 0x4396cc
inc dword [ebp - 0xf4]
jmp 0x43f9cc
cmp dword [ebp - 0x134], 0x16
jne 0x43fc91
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4396d3
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x4396da
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx + 0x68]
mov dword [ebp - 0x1a4], ebx
cmp edi, ebx
jb 0x43fb5f
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43fb58
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x43fbab
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43fbab
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43fb94
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], 2
je 0x4396e1
cmp edi, dword [ebp - 0x1a4]
jae 0x43fc86
mov dword [ebp - 0x1a8], 1
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x43fc03
movzx esi, al
jmp 0x43fc4d
movzx esi, al
cmp esi, 0xbf
jbe 0x43fc4d
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1a8], edx
jg 0x43fc46
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x43fc31
inc edx
mov dword [ebp - 0x1a8], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], 2
jne 0x43fc86
add edi, dword [ebp - 0x1a8]
jmp 0x43fbdd
inc dword [ebp - 0xf4]
jmp 0x43fadc
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf8], 0
je 0x440008
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4396e8
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x4396ef
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x68]
cmp edi, edx
jb 0x43fd20
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x43fd19
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
cmp dword [ebp - 0x134], 0xc
jne 0x43fd77
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x43fd50
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x43fd70
jmp 0x43fd77
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x43fd77
mov edx, eax
mov al, byte [eax + 0x2c]
cmp byte [edi], al
jne 0x43fd77
dec ecx
je 0x43fd70
mov al, byte [edx + 0x2d]
cmp byte [edi + 1], al
jne 0x43fd77
xor edx, edx
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x43fdb2
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x43fdb2
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x43fd9b
mov eax, dword [ebp - 0x134]
sub eax, 6
cmp eax, 0xf
ja case.0x43fdc4.15
jmp dword [eax*4 + 0x643dd4]
cmp esi, 0xd
je 0x43fdfb
ja 0x43fddf
cmp esi, 0xa
je case.0x43fdc4.12
jb 0x43fdf4
jmp 0x43fe16
cmp esi, 0x85
je 0x43fe16
jb 0x43fdf4
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x43fe16
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jae case.0x43fdc4.12
cmp byte [edi], 0xa
jne case.0x43fdc4.12
inc edi
jmp case.0x43fdc4.12
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0x5c], 0
je case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0x180e
je 0x43fe7f
ja 0x43fe50
cmp esi, 0x20
je 0x43fe7f
ja 0x43fe40
cmp esi, 9
jmp 0x43fe79
cmp esi, 0xa0
je 0x43fe7f
cmp esi, 0x1680
jmp 0x43fe79
cmp esi, 0x202f
je 0x43fe7f
ja 0x43fe6b
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja case.0x43fdc4.12
jmp 0x43fe7f
cmp esi, 0x205f
je 0x43fe7f
cmp esi, 0x3000
jne case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0x180e
je case.0x43fdc4.12
ja 0x43feb8
cmp esi, 0x20
je case.0x43fdc4.12
ja 0x43fea4
cmp esi, 9
jmp 0x43fee8
cmp esi, 0xa0
je case.0x43fdc4.12
cmp esi, 0x1680
jmp 0x43fee8
cmp esi, 0x202f
je case.0x43fdc4.12
ja 0x43fed6
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x43feee
jmp case.0x43fdc4.12
cmp esi, 0x205f
je case.0x43fdc4.12
cmp esi, 0x3000
je case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0x85
je 0x43ff16
ja 0x43ff07
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x43ff10
lea eax, [esi - 0x2028]
cmp eax, 1
ja case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0x85
je case.0x43fdc4.12
ja 0x43ff33
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x43ff3c
lea eax, [esi - 0x2028]
cmp eax, 1
jbe case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0xff
ja case.0x43fdc4.12
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 4
je case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0xff
ja 0x43ff80
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
jne case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0xff
ja case.0x43fdc4.12
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x34]
test byte [esi + eax], 1
je case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0xff
ja 0x43ffb6
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 1
jne case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0xff
ja case.0x43fdc4.12
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
je case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0xff
ja 0x43ffec
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x34]
test byte [esi + eax], 0x10
jne case.0x43fdc4.12
xor edx, edx
jmp case.default.0x43f5e8
mov edx, 0xfffffff2
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x43fca4
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4396f6
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jge 0x4396fd
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x68]
cmp edi, edx
jb 0x440085
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44007e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x43f5e8
xor edx, edx
jmp case.default.0x43f5e8
cmp dword [ebp - 0x134], 0xc
jne 0x4400d6
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x4400b1
mov eax, ebx
push 0
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x4400cf
jmp 0x4400d6
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x4400d6
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x4400d6
dec ecx
je 0x4400cf
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
jne 0x4400d6
xor edx, edx
jmp case.default.0x43f5e8
mov eax, dword [ebp - 0x134]
sub eax, 6
movzx esi, byte [edi]
inc edi
cmp eax, 0xf
ja case.0x4400ec.15
jmp dword [eax*4 + 0x643e14]
cmp esi, 0xc
ja 0x440108
cmp esi, 0xb
jae 0x440137
cmp esi, 0xa
je case.0x4400ec.12
jmp 0x440115
cmp esi, 0xd
je 0x44011c
cmp esi, 0x85
je 0x440137
xor edx, edx
jmp case.default.0x43f5e8
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jae case.0x4400ec.12
cmp byte [edi], 0xa
jne case.0x4400ec.12
inc edi
jmp case.0x4400ec.12
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x5c], 0
je case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0x20
je 0x440163
ja 0x440157
cmp esi, 9
jmp 0x44015d
cmp esi, 0xa0
jne case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0x20
je case.0x4400ec.12
ja 0x44017a
cmp esi, 9
jmp 0x440180
cmp esi, 0xa0
je case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0xa
jb case.0x4400ec.12
cmp esi, 0xd
jbe 0x4401a7
cmp esi, 0x85
jne case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
cmp esi, 0xa
jb 0x4401c8
cmp esi, 0xd
jbe case.0x4400ec.12
cmp esi, 0x85
je case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
je case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x34]
test byte [esi + eax], 4
jne case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 1
je case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 1
jne case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x34]
test byte [esi + eax], 0x10
je case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 0x10
jne case.0x4400ec.12
xor edx, edx
jmp case.default.0x43f5e8
mov edx, 0xfffffff2
jmp case.default.0x43f5e8
inc dword [ebp - 0xf4]
jmp 0x440008
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0x124], 0
js 0x44078c
cmp dword [ebp - 0x124], 4
ja case.default.0x44027c
mov ecx, dword [ebp - 0x124]
jmp dword [ecx*4 + 0x643e54]
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x44027c
mov eax, dword [ebp + 0x10]
mov ecx, 1
cmp edi, dword [eax + 0x68]
jb 0x4402d7
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x44027c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x44027c
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4402fd
and esi, 0x3f
mov edx, 1
movzx eax, byte [esi + 0x644590]
cmp ecx, eax
jg 0x4402fa
inc edx
cmp edx, eax
jmp 0x4402f3
lea ecx, [eax + 1]
cmp dword [ebp - 0x12c], 0
jne case.default.0x44027c
inc dword [ebp - 0xf4]
add edi, ecx
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jmp 0x440291
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x44027c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1ac], 1
cmp edi, dword [eax + 0x68]
jb 0x44037c
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x44027c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x44027c
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4403c6
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1ac], edx
jg 0x4403bf
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4403aa
inc edx
mov dword [ebp - 0x1ac], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
xor ebx, ebx
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx ecx, byte [eax*8 + 0x6506b1]
cmp ecx, 9
sete dl
cmp ecx, 5
sete al
or eax, edx
test al, 1
jne 0x440403
cmp ecx, 8
jne 0x440408
mov ebx, 1
cmp ebx, dword [ebp - 0x12c]
je case.default.0x44027c
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1ac]
cmp dword [ebp - 0xf4], ecx
jmp 0x440331
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x44027c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1b0], 1
cmp edi, dword [eax + 0x68]
jb 0x44048a
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x44027c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x44027c
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4404d4
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1b0], edx
jg 0x4404cd
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4404b8
inc edx
mov dword [ebp - 0x1b0], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
mov ecx, dword [ebp - 0x128]
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], ecx
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je case.default.0x44027c
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1b0]
cmp dword [ebp - 0xf4], ebx
jmp 0x44043f
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x44027c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1b4], 1
cmp edi, dword [eax + 0x68]
jb 0x44058d
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x44027c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x44027c
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4405d7
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1b4], edx
jg 0x4405d0
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4405bb
inc edx
mov dword [ebp - 0x1b4], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx ecx, byte [eax*8 + 0x6506b1]
xor eax, eax
cmp ecx, dword [ebp - 0x128]
sete al
cmp eax, dword [ebp - 0x12c]
je case.default.0x44027c
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1b4]
cmp dword [ebp - 0xf4], ecx
jmp 0x440542
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x44027c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1b8], 1
cmp edi, dword [eax + 0x68]
jb 0x440688
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x44027c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x44027c
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4406d2
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1b8], edx
jg 0x4406cb
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4406b6
inc edx
mov dword [ebp - 0x1b8], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b0]
cmp eax, dword [ebp - 0x128]
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je case.default.0x44027c
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1b8]
cmp dword [ebp - 0xf4], ecx
jmp 0x44063d
cmp dword [ebp - 0x100], 0
jne 0x439747
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439704
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x441c5e
cmp dword [ebp - 0xf8], 0
je 0x440734
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x440734
dec edi
jmp 0x44077c
cmp dword [ebp - 0x134], 0x16
jne 0x440a12
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x440931
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x1bc], eax
cmp edi, eax
jb 0x4407f3
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x440931
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x440931
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x44083f
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x44083f
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x440828
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], 2
je 0x440931
cmp edi, dword [ebp - 0x1bc]
jae 0x44091a
mov dword [ebp - 0x1c0], 1
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x440897
movzx esi, al
jmp 0x4408e1
movzx esi, al
cmp esi, 0xbf
jbe 0x4408e1
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1c0], edx
jg 0x4408da
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4408c5
inc edx
mov dword [ebp - 0x1c0], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], 2
jne 0x44091a
add edi, dword [ebp - 0x1c0]
jmp 0x440871
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jmp 0x4407a7
cmp dword [ebp - 0x100], 0
jne 0x439747
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x43970b
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x441c5e
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x44098d
movzx esi, al
jmp 0x4409da
and eax, 0xc0
add eax, 0xffffff80
jne 0x44099d
dec edi
movzx eax, byte [edi]
jmp 0x44098d
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4409da
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp ebx, edx
jg 0x4409da
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
jmp 0x4409c5
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x64e4b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x6446b0]
movzx eax, byte [eax*8 + 0x6506b1]
cmp dword [eax*4 + 0x644510], 2
jne 0x44093e
dec edi
jmp 0x44097d
mov edx, dword [ebp - 0x134]
cmp dword [ebp - 0xf8], 0
lea eax, [edx - 6]
je 0x44158a
cmp eax, 0xf
ja case.0x440a31.9
jmp dword [eax*4 + 0x643e68]
cmp dword [ebp - 0x13c], 0x7fffffff
je 0x440b1b
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, ecx
jge 0x44152e
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebx + 0x68]
cmp edi, edx
jb 0x440a96
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov dword [ebx + 0x58], 1
dec ecx
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x440ac1
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x44152e
jmp 0x440ae9
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x440ae9
mov edx, eax
mov al, byte [eax + 0x2c]
cmp byte [edi], al
jne 0x440ae9
dec ecx
je 0x44152e
mov al, byte [edx + 0x2d]
cmp byte [edi + 1], al
je 0x44152e
mov ecx, dword [ebp + 0x10]
inc edi
mov edx, dword [ecx + 0x68]
jmp 0x440b00
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x440b04
inc edi
cmp edi, edx
jb 0x440af2
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ebx
jmp 0x440a56
mov dword [ebp - 0xf4], ebx
cmp ebx, 0x7fffffff
jge 0x44152e
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x68]
cmp edi, edx
jb 0x440b67
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov dword [esi + 0x58], 1
dec ecx
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x440b90
push dword [ebp - 0xf8]
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x44152e
jmp 0x440bb6
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x440bb6
mov al, byte [ebx + 0x2c]
cmp byte [edi], al
jne 0x440bb6
dec ecx
je 0x44152e
mov al, byte [ebx + 0x2d]
cmp byte [edi + 1], al
je 0x44152e
mov esi, dword [ebp + 0x10]
inc edi
mov edx, dword [esi + 0x68]
jmp 0x440bcd
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x440bd1
inc edi
cmp edi, edx
jb 0x440bbf
inc dword [ebp - 0xf4]
cmp dword [ebp - 0xf4], 0x7fffffff
jmp 0x440b27
cmp dword [ebp - 0x13c], 0x7fffffff
je 0x440c68
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x44152e
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x68]
cmp edi, edx
jb 0x440c4f
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov dword [ebx + 0x58], 1
dec ecx
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x440c54
inc edi
cmp edi, edx
jb 0x440c42
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jmp 0x440c00
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x68]
jmp 0x44152e
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x13c]
sub esi, ebx
mov edx, dword [ecx + 0x68]
mov eax, edx
sub eax, edi
cmp esi, eax
jbe 0x440cbd
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
mov edi, edx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov dword [ebx + 0x58], 1
dec ecx
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
add edi, esi
jmp 0x44152e
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x44152e
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c4], 1
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x1c8], eax
cmp edi, eax
jb 0x440d28
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x440d72
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1c4], edx
jg 0x440d6b
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x440d56
inc edx
mov dword [ebp - 0x1c4], edx
cmp esi, 0xd
jne 0x440d8c
inc edi
cmp edi, dword [ebp - 0x1c8]
jae 0x44152e
cmp byte [edi], 0xa
jne 0x440dd8
inc edi
jmp 0x440dd8
cmp esi, 0xa
je 0x440dd2
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x5c], 0
jne 0x44152e
lea eax, [esi - 0xb]
cmp eax, 1
seta dl
xor eax, eax
cmp esi, 0x85
setne al
test edx, eax
je 0x440dd2
cmp esi, 0x2028
setne dl
xor eax, eax
cmp esi, 0x2029
setne al
test edx, eax
jne 0x44152e
add edi, dword [ebp - 0x1c4]
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], edx
jmp 0x440cd2
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, ecx
jge 0x44152e
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x1cc], 1
cmp edi, dword [ebx + 0x68]
jb 0x440e45
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov dword [ebx + 0x58], 1
dec ecx
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x440e8f
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1cc], edx
jg 0x440e88
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x440e73
inc edx
mov dword [ebp - 0x1cc], edx
cmp esi, 0x180e
je 0x440ee0
ja 0x440eb5
cmp esi, 0x20
je 0x440ee0
ja 0x440ea5
cmp esi, 9
jmp 0x440eda
cmp esi, 0xa0
je 0x440ee0
cmp esi, 0x1680
jmp 0x440eda
cmp esi, 0x202f
je 0x440ee0
ja 0x440ecc
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x440edc
jmp 0x440ee0
cmp esi, 0x205f
je 0x440ee0
cmp esi, 0x3000
je 0x440ee0
xor edx, edx
jmp 0x440ee5
mov edx, 1
xor eax, eax
cmp dword [ebp - 0x134], 0x12
sete al
cmp edx, eax
je 0x44152e
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1cc]
cmp dword [ebp - 0xf4], esi
jmp 0x440dfd
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x44152e
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1d0], 1
cmp edi, dword [edx + 0x68]
jb 0x440f6f
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x440fb9
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1d0], edx
jg 0x440fb2
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x440f9d
inc edx
mov dword [ebp - 0x1d0], edx
cmp esi, 0x85
je 0x440fda
ja 0x440fcb
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x440fd4
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x440fda
xor edx, edx
jmp 0x440fdf
mov edx, 1
xor eax, eax
cmp dword [ebp - 0x134], 0x14
sete al
cmp edx, eax
je 0x44152e
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1d0]
cmp dword [ebp - 0xf4], esi
jmp 0x440f24
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x44152e
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1d4], 1
cmp edi, dword [edx + 0x68]
jb 0x441069
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4410b3
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1d4], edx
jg 0x4410ac
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x441097
inc edx
mov dword [ebp - 0x1d4], edx
cmp esi, 0xff
ja 0x4410cb
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 4
jne 0x44152e
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1d4]
cmp dword [ebp - 0xf4], ecx
jmp 0x44101e
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x44152e
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1d8], 1
cmp edi, dword [eax + 0x68]
jb 0x441141
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x44118b
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1d8], edx
jg 0x441184
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x44116f
inc edx
mov dword [ebp - 0x1d8], edx
cmp esi, 0xff
ja 0x44152e
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
je 0x44152e
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1d8]
cmp dword [ebp - 0xf4], ebx
jmp 0x4410f6
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x44152e
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1dc], 1
cmp edi, dword [eax + 0x68]
jb 0x44121d
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x441267
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1dc], edx
jg 0x441260
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x44124b
inc edx
mov dword [ebp - 0x1dc], edx
cmp esi, 0xff
ja 0x44127f
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 1
jne 0x44152e
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1dc]
cmp dword [ebp - 0xf4], ebx
jmp 0x4411d2
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x44152e
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1e0], 1
cmp edi, dword [eax + 0x68]
jb 0x4412f5
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x44133f
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1e0], edx
jg 0x441338
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x441323
inc edx
mov dword [ebp - 0x1e0], edx
cmp esi, 0xff
ja 0x44152e
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 1
je 0x44152e
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1e0]
cmp dword [ebp - 0xf4], ebx
jmp 0x4412aa
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x44152e
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1e4], 1
cmp edi, dword [eax + 0x68]
jb 0x4413d1
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x44141b
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1e4], edx
jg 0x441414
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4413ff
inc edx
mov dword [ebp - 0x1e4], edx
cmp esi, 0xff
ja 0x441433
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
jne 0x44152e
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1e4]
cmp dword [ebp - 0xf4], ebx
jmp 0x441386
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x44152e
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1e8], 1
cmp edi, dword [eax + 0x68]
jb 0x4414a9
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x44152e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x44152e
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4414f3
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x644590]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x6445d0]
shl esi, cl
cmp dword [ebp - 0x1e8], edx
jg 0x4414ec
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4414d7
inc edx
mov dword [ebp - 0x1e8], edx
cmp esi, 0xff
ja 0x44152e
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
je 0x44152e
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1e8]
cmp dword [ebp - 0xf4], ebx
jmp 0x44145e
mov edx, 0xfffffff2
jmp case.default.0x43f5e8
cmp dword [ebp - 0x100], 0
jne 0x439747
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439712
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x441c5e
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x44153b
dec edi
jmp 0x44157a
cmp eax, 0xf
ja case.0x441593.9
jmp dword [eax*4 + 0x643ea8]
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x441c16
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x68]
cmp edi, edx
jb 0x4415eb
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x441612
mov eax, ebx
push 0
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.00443050
add esp, 0x14
test eax, eax
jne 0x441c16
jmp 0x441638
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x441638
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x441638
dec ecx
je 0x441c16
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
je 0x441c16
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x4415a8
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x13c]
sub esi, ebx
mov edx, dword [ecx + 0x68]
mov eax, edx
sub eax, edi
cmp esi, eax
jbe 0x44169a
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
mov edi, edx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov dword [ebx + 0x58], 1
dec ecx
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
add edi, esi
jmp 0x441c16
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x441c16
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
cmp edi, eax
jb 0x4416f2
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 0xd
jne 0x44170a
inc edi
cmp edi, eax
jae 0x441c16
cmp byte [edi], 0xa
jne 0x441739
jmp 0x441738
cmp esi, 0xa
je 0x441738
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x5c], 0
jne 0x441c16
lea eax, [esi - 0xb]
cmp eax, 1
seta dl
xor eax, eax
cmp esi, 0x85
setne al
test edx, eax
jne 0x441c16
inc edi
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], edx
jmp 0x4416af
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, ecx
jge 0x441c16
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x44179c
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov dword [ebx + 0x58], 1
dec ecx
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 9
sete dl
cmp esi, 0x20
sete al
or eax, edx
test al, 1
jne 0x441c16
cmp esi, 0xa0
je 0x441c16
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], esi
jmp 0x44175e
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x441c16
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x441825
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
cmp esi, 9
setne dl
xor eax, eax
cmp esi, 0x20
setne al
test edx, eax
je 0x441846
cmp esi, 0xa0
jne 0x441c16
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], esi
jmp 0x4417e4
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x441c16
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x4418aa
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
lea eax, [esi - 0xa]
cmp eax, 3
setbe dl
cmp esi, 0x85
sete al
or eax, edx
test al, 1
jne 0x441c16
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], esi
jmp 0x441869
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x441c16
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x44192d
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
movzx esi, byte [edi]
lea eax, [esi - 0xa]
cmp eax, 3
seta dl
xor eax, eax
cmp esi, 0x85
setne al
test edx, eax
jne 0x441c16
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], esi
jmp 0x4418ec
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x441c16
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x4419b0
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
jne 0x441c16
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x44196f
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x441c16
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x441a26
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov dword [ebx + 0x58], 1
dec ecx
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
je 0x441c16
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x4419e6
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x441c16
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x441a9c
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov dword [ebx + 0x58], 1
dec ecx
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
jne 0x441c16
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x441a5c
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x441c16
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x441b12
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov dword [ebx + 0x58], 1
dec ecx
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
je 0x441c16
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x441ad2
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x441c16
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x441b88
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov dword [ebx + 0x58], 1
dec ecx
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
jne 0x441c16
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x441b48
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x441c16
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x441beb
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x441c16
mov dword [ebx + 0x58], 1
dec ecx
jle 0x441c16
mov edx, 0xfffffff4
jmp case.default.0x43f5e8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
je 0x441c16
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x441bba
mov edx, 0xfffffff2
jmp case.default.0x43f5e8
cmp dword [ebp - 0x100], 0
jne 0x439747
cmp edi, dword [ebp - 0x10c]
jb 0x441c5e
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
dec edi
call fcn.00439276
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x439719
jmp 0x441c23
xor edx, edx
jmp case.default.0x43f5e8
mov edx, 0xfffffffb
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret