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

Disassembly:
sub esp, 0x128
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x14c]
mov ecx, dword [edi]
mov eax, dword [edi + 0x44]
mov dword [esp + 0x30], eax
cmp ecx, dword [edi + 4]
jae 0x44064e
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x140]
mov esi, dword [esp + 0x13c]
mov edx, dword [esp + 0x15c]
inc dword [edi]
cmp edx, dword [edi + 8]
jae 0x440660
test byte [esp + 0x158], 2
mov eax, dword [esp + 0x150]
mov dword [esp + 0x38], eax
je 0x43c0dc
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x154], ecx
mov cl, byte [ebp]
movzx eax, cl
xor ebx, ebx
mov edx, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], edx
cmp edx, 0x72
ja case.0x43c102.15
movzx edx, byte [edx + 0x441f9a]
jmp dword [edx*4 + 0x441e7a]
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
cmp byte [ebp + 3], 0x53
jne 0x43c1d7
mov ecx, dword [0x4a56c8]
test ecx, ecx
je 0x43c1d4
movzx edx, byte [ebp + 4]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x64]
mov dword [esp + 0x64], edx
mov edx, dword [edi + 0x68]
sub edx, eax
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x144]
sub edx, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], edx
mov edx, esi
sub edx, eax
movzx eax, byte [ebp + 5]
shl eax, 8
mov dword [esp + 0x78], edx
movzx edx, byte [ebp + 6]
or eax, edx
movzx edx, byte [ebp + 8]
mov dword [esp + 0x88], eax
movzx eax, byte [ebp + 7]
shl eax, 8
or eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov edx, dword [edi + 0x94]
sar eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x80]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x64], 1
mov dword [esp + 0x88], edx
call ecx
add esp, 4
test eax, eax
jg case.0x441d16.14
jl 0x441e6e
add ebp, 6
movzx ecx, byte [ebp + 3]
lea eax, [ebp + 3]
cmp ecx, 0x66
je 0x43c3c8
cmp ecx, 0x67
je 0x43c3c8
cmp ecx, 0x64
je 0x43c262
cmp ecx, 0x65
je 0x43c262
cmp ecx, 0x68
jne 0x43c213
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
jmp 0x43c3b6
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x150]
inc ecx
push ecx
mov ecx, dword [esp + 0x14c]
push 1
push 0
push edx
mov edx, dword [esp + 0x154]
push edi
push ecx
push edx
push eax
push esi
call fcn.0043c06a
add esp, 0x24
cmp eax, 1
je 0x4403b4
test eax, eax
je 0x43c25b
cmp eax, 0xfffffc1c
jne 0x441e6e
add ebp, ebx
jmp 0x43c3b6
movzx eax, byte [ebp + 4]
movzx edx, byte [ebp + 5]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x43c287
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43c508
mov dword [esp + 0x20], 0
cmp ecx, 0x65
jne 0x43c39c
mov ebx, dword [edi + 0x28]
xor ecx, ecx
sar eax, 1
cmp dword [edi + 0x20], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jle 0x43c2cb
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [esp + 0x18]
je 0x43c2c7
add ebx, dword [edi + 0x24]
inc ecx
cmp ecx, dword [edi + 0x20]
jl 0x43c2ac
mov dword [esp + 0x14], ecx
cmp ecx, dword [edi + 0x20]
jge 0x43c39c
mov dword [esp + 0x28], ebx
cmp ebx, dword [edi + 0x28]
jbe 0x43c331
mov eax, dword [esp + 0x28]
sub eax, dword [edi + 0x24]
mov dword [esp + 0x28], eax
add eax, 2
push eax
lea eax, [ebx + 2]
push eax
call fcn.00415340
add esp, 8
test eax, eax
jne 0x43c331
mov ecx, dword [esp + 0x28]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x43c324
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43c508
mov dword [esp + 0x20], 0
cmp ecx, dword [edi + 0x28]
ja 0x43c2dd
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
jge 0x43c39c
lea eax, [ebx + 2]
mov dword [esp + 0x18], eax
lea esp, [esp]
add ebx, dword [edi + 0x24]
mov edx, dword [esp + 0x18]
lea ecx, [ebx + 2]
push ecx
push edx
call fcn.00415340
add esp, 8
test eax, eax
jne 0x43c39c
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x43c386
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43c508
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
jl 0x43c34a
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp dword [esp + 0x20], 0
jne 0x4403e1
cmp byte [ebp], 0x54
je 0x4403e1
add ebp, 3
jmp 0x43c0dc
mov edx, dword [edi + 0x90]
test edx, edx
jne 0x43c3e3
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
jmp 0x43c3b6
movzx eax, byte [ebp + 4]
movzx ebx, byte [ebp + 5]
shl eax, 8
or eax, ebx
cmp eax, 0xffff
je 0x43c508
cmp eax, dword [edx + 4]
je 0x43c508
mov dword [esp + 0x20], 0
cmp ecx, 0x67
jne 0x43c39c
mov ebx, dword [edi + 0x28]
xor ecx, ecx
cmp dword [edi + 0x20], ecx
mov dword [esp + 0x14], ecx
jle 0x43c440
movzx ecx, byte [ebx]
movzx edx, byte [ebx + 1]
shl ecx, 8
or ecx, edx
cmp ecx, eax
je 0x43c440
mov ecx, dword [esp + 0x14]
add ebx, dword [edi + 0x24]
inc ecx
cmp ecx, dword [edi + 0x20]
mov dword [esp + 0x14], ecx
jl 0x43c41f
mov eax, dword [esp + 0x14]
cmp eax, dword [edi + 0x20]
jge 0x43c39c
mov dword [esp + 0x28], ebx
cmp ebx, dword [edi + 0x28]
jbe 0x43c4a1
lea esp, [esp]
mov eax, dword [esp + 0x28]
sub eax, dword [edi + 0x24]
mov dword [esp + 0x28], eax
add eax, 2
push eax
lea eax, [ebx + 2]
push eax
call fcn.00415340
add esp, 8
test eax, eax
jne 0x43c4a1
mov eax, dword [esp + 0x28]
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
or ecx, edx
mov edx, dword [edi + 0x90]
cmp ecx, dword [edx + 4]
je 0x43c508
mov dword [esp + 0x20], 0
cmp eax, dword [edi + 0x28]
ja 0x43c45a
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
jge 0x43c39c
lea eax, [ebx + 2]
mov dword [esp + 0x18], eax
add ebx, dword [edi + 0x24]
mov edx, dword [esp + 0x18]
lea ecx, [ebx + 2]
push ecx
push edx
call fcn.00415340
add esp, 8
test eax, eax
jne 0x43c39c
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
mov edx, dword [edi + 0x90]
shl ecx, 8
or eax, ecx
cmp eax, dword [edx + 4]
je 0x43c508
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
jl 0x43c4ba
jmp 0x43c39c
mov dword [esp + 0x20], 1
mov eax, 3
jmp 0x43c3a9
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
lea ecx, [eax + eax]
cmp ecx, dword [edi + 0x14]
mov dword [edi + 0x80], eax
jl 0x43c544
mov dword [edi + 0x38], 1
add ebp, 3
jmp 0x43c0dc
mov ebx, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
sub ebx, eax
mov eax, dword [edx + ebx*4]
mov dword [edx + ecx*4], eax
mov eax, dword [edi + 0xc]
mov edx, esi
sub edx, dword [edi + 0x64]
cmp dword [esp + 0x148], ecx
mov dword [eax + ecx*4 + 4], edx
jg 0x43c571
add ecx, 2
mov dword [esp + 0x148], ecx
add ebp, 3
jmp 0x43c0dc
mov ebp, dword [edi + 0x90]
cmp ebp, ebx
je 0x440980
cmp dword [ebp + 4], ebx
jne 0x440980
mov ecx, dword [ebp]
mov dword [edi + 0x90], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [edi + 0xc]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.00415f40
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x44]
mov ebp, dword [ebp + 8]
add esp, 0xc
mov dword [esp + 0x148], edx
mov dword [esp + 0x144], eax
mov dword [esp + 0x150], ecx
jmp 0x43c0dc
movzx edx, byte [ebp + 1]
mov dword [esp + 0x150], edx
add ebp, 2
jmp 0x43c0dc
mov ebx, dword [esp + 0x15c]
inc ebx
lea esp, [esp]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
push ebx
push 0
push 0
push eax
push edi
push ecx
push edx
lea eax, [ebp + 3]
push eax
push esi
call fcn.0043c06a
add esp, 0x24
cmp eax, 1
je 0x43c64e
test eax, eax
je 0x43c639
cmp eax, 0xfffffc1c
jne 0x441e6e
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43c5fa
cmp byte [ebp], 0x55
je case.0x441d16.14
test byte [esp + 0x158], 1
jne 0x4409ba
lea esp, [esp]
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je 0x43c66a
mov edx, dword [edi + 0x7c]
add ebp, 3
mov dword [esp + 0x148], edx
jmp 0x43c0dc
mov ebx, dword [esp + 0x15c]
inc ebx
nop
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
push ebx
push 0
push 0
push eax
push edi
push ecx
push edx
lea eax, [ebp + 3]
push eax
push esi
call fcn.0043c06a
add esp, 0x24
cmp eax, 1
je case.0x441d16.14
test eax, eax
je 0x43c6dd
cmp eax, 0xfffffc1c
jne 0x441e6e
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43c69a
test byte [esp + 0x158], 1
jne 0x4409ba
add ebp, 3
jmp 0x43c0dc
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
cmp dword [esp + 0x30], ebx
je 0x43c74c
or eax, ecx
jle 0x43c759
mov ecx, dword [edi + 0x64]
dec esi
dec eax
cmp esi, ecx
jb case.0x441d16.14
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43c746
lea ebx, [ebx]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43c73a
cmp eax, ebx
jg 0x43c720
jmp 0x43c759
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x64]
jb case.0x441d16.14
cmp esi, dword [edi + 0x74]
jae 0x43c761
mov dword [edi + 0x74], esi
add ebp, 3
jmp 0x43c0dc
mov ecx, dword [0x4a56c8]
cmp ecx, ebx
je 0x43c838
movzx edx, byte [ebp + 1]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x98], eax
mov eax, dword [edi + 0x64]
mov dword [esp + 0x94], edx
mov edx, dword [edi + 0x68]
sub edx, eax
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x144]
sub edx, eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa4], edx
mov edx, esi
sub edx, eax
movzx eax, byte [ebp + 2]
shl eax, 8
mov dword [esp + 0xa8], edx
movzx edx, byte [ebp + 3]
or eax, edx
movzx edx, byte [ebp + 5]
mov dword [esp + 0xb8], eax
movzx eax, byte [ebp + 4]
shl eax, 8
or eax, edx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov edx, dword [edi + 0x94]
sar eax, 1
mov dword [esp + 0xac], eax
mov eax, dword [edi + 0x80]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x90]
push eax
mov dword [esp + 0x94], 1
mov dword [esp + 0xb8], edx
call ecx
add esp, 4
test eax, eax
jg case.0x441d16.14
jl 0x441e6e
add ebp, 6
jmp 0x43c0dc
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], esi
jmp 0x43c85a
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
mov eax, dword [esp + 0x148]
push 0
push ebx
push ecx
push edi
push edx
push eax
lea ecx, [ebp + 3]
push ecx
push esi
call fcn.0043c06a
add esp, 0x24
cmp eax, 1
je 0x43c8b5
test eax, eax
je 0x43c8a0
cmp eax, 0xfffffc1c
jne 0x441e6e
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43c85a
mov al, byte [ebp]
cmp al, 0x5d
je 0x43c8ca
cmp al, 0x54
jne case.0x441d16.14
lea ebx, [ebx]
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43c8ca
cmp byte [ebp], 0x55
mov eax, dword [edi + 0x7c]
mov esi, dword [edi + 0x70]
mov dword [esp + 0x148], eax
je 0x43c8fc
cmp esi, dword [esp + 0x28]
jne 0x4404df
add ebp, 3
jmp 0x43c0dc
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je case.0x43c102.84
jmp 0x43c0dc
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
inc edx
push edx
mov edx, dword [esp + 0x14c]
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
inc ebp
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
lea esp, [esp]
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43c96a
add ebp, 3
jmp 0x43c0dc
inc ebp
mov eax, ebp
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x43c98a
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x154]
inc ecx
push ecx
mov ecx, dword [esp + 0x154]
push 0
push edx
mov edx, dword [esp + 0x154]
push ecx
mov ecx, dword [esp + 0x154]
push edi
push edx
push ecx
add eax, 3
push eax
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
jmp 0x43c0dc
inc ebp
jmp 0x43c9ea
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43c9ea
add ebp, 3
jmp 0x43c0dc
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
mov eax, ebp
sub eax, ecx
mov dword [esp + 0x20], eax
mov al, byte [eax]
cmp al, 0x61
jb 0x43ca3b
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [esp + 0x28], edx
mov dword [esp + 0x154], ebx
jmp 0x43ca4a
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x28], 0
cmp al, 0x58
je 0x440bfe
cmp al, 0x59
je 0x440bfe
cmp al, 0x5a
je 0x440bfe
cmp al, 0x5b
je 0x440bfe
cmp al, 0x5d
je 0x440bfe
cmp al, 0x5f
je 0x43ca7e
cmp al, 0x62
jne 0x43cb33
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx + 3]
movzx ecx, byte [ecx + 4]
shl eax, 8
or eax, ecx
lea ecx, [eax + eax]
cmp ecx, dword [edi + 0x14]
mov dword [esp + 0x2c], eax
mov dword [edi + 0x80], eax
jl 0x43caaa
mov dword [edi + 0x38], 1
jmp 0x43cadb
mov edx, dword [edi + 0x10]
sub edx, eax
mov eax, dword [edi + 0xc]
mov edx, dword [eax + edx*4]
mov dword [eax + ecx*4], edx
mov edx, dword [edi + 0xc]
mov eax, esi
sub eax, dword [edi + 0x64]
cmp dword [esp + 0x148], ecx
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x2c]
jg 0x43cadb
add ecx, 2
mov dword [esp + 0x148], ecx
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x43cb33
cmp dword [ecx + 4], eax
jne 0x43cb33
mov ebx, ecx
mov eax, dword [ebx]
mov dword [edi + 0x90], eax
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
add edx, edx
add edx, edx
push edx
mov dword [esp + 0x148], ecx
mov ecx, dword [edi + 0xc]
push eax
push ecx
call fcn.00412300
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x44]
mov ebp, dword [ebx + 8]
add esp, 0xc
mov dword [esp + 0x148], edx
mov dword [esp + 0x150], eax
jmp 0x43c0dc
cmp byte [ebp], 0x55
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x150], ecx
je 0x43cb4e
cmp esi, dword [esp + 0x28]
jne 0x440583
add ebp, 3
jmp 0x43c0dc
cmp dword [edi + 0x3c], ebx
je 0x43cb64
cmp esi, dword [edi + 0x64]
je case.0x441d16.14
test byte [esp + 0x150], 2
je case.0x43c102.1
mov eax, dword [edi + 0x64]
cmp esi, eax
je 0x43cbdc
cmp esi, dword [edi + 0x68]
je case.0x441d16.14
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43cbaf
cmp esi, eax
jbe case.0x441d16.14
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433dea
add esp, 0x14
test eax, eax
je case.0x441d16.14
inc ebp
jmp 0x43c0dc
mov ecx, dword [edi + 0x1c]
add eax, ecx
cmp esi, eax
jb case.0x441d16.14
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne case.0x441d16.14
cmp ecx, 1
je 0x43cbdc
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x64]
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
mov ecx, dword [edi + 0x84]
add ecx, dword [edi + 0x64]
cmp esi, ecx
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
mov dword [esp + 0x144], esi
inc ebp
jmp 0x43c0dc
test byte [esp + 0x150], 2
je 0x43cc8d
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43cc7e
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43cc4f
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
je case.0x441d16.14
inc ebp
jmp 0x43c0dc
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x441d16.14
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x441d16.14
cmp ecx, 1
je 0x43cc87
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp dword [edi + 0x40], ebx
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp dword [edi + 0x40], ebx
jne case.0x441d16.14
cmp dword [edi + 0x4c], ebx
jne case.0x43c102.24
mov eax, dword [edi + 0x68]
cmp esi, eax
je 0x43cd08
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43cccf
cmp esi, eax
jae case.0x441d16.14
mov edx, dword [esp + 0x30]
push edx
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
je case.0x441d16.14
jmp 0x43ccfb
mov ecx, dword [edi + 0x1c]
lea ebx, [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x441d16.14
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x441d16.14
cmp ecx, 1
je 0x43ccfb
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne case.0x441d16.14
mov edx, dword [edi + 0x68]
sub edx, dword [ebx]
cmp esi, edx
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jb case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp dword [esp + 0x30], ebx
je 0x43ce61
cmp esi, dword [edi + 0x64]
je 0x43cdd9
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
mov dword [esp + 0x18], eax
cmp cl, 0x80
jne 0x43cd52
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x43cd42
mov dword [esp + 0x18], eax
cmp eax, dword [edi + 0x74]
jae 0x43cd5a
mov dword [edi + 0x74], eax
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x43cdc1
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
jl 0x43cdc1
lea ebx, [ebx]
mov edx, dword [esp + 0x18]
movzx ebx, byte [ebx + edx]
mov edx, dword [esp + 0x24]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x20]
inc ebx
cmp ebx, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
jle 0x43cd9a
cmp edx, 0x100
jae 0x43cdd9
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je 0x43cdd9
mov ecx, 1
jmp 0x43cddb
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp esi, dword [edi + 0x68]
jb 0x43cdee
mov eax, dword [edi + 0x78]
test eax, eax
jmp 0x43ce90
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ce49
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x43ce45
lea ebx, [ebx]
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43ce2a
mov ecx, dword [esp + 0x20]
cmp edx, 0x100
jae 0x43ceab
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je 0x43ceab
mov eax, 1
jmp 0x43cebf
cmp esi, dword [edi + 0x64]
jne 0x43ce6a
xor ecx, ecx
jmp 0x43ce86
cmp esi, dword [edi + 0x74]
ja 0x43ce75
lea ecx, [esi - 1]
mov dword [edi + 0x74], ecx
movzx eax, byte [esi - 1]
mov edx, dword [edi + 0x34]
movzx ecx, byte [eax + edx]
shr ecx, 4
and ecx, 1
cmp esi, dword [edi + 0x68]
jb 0x43ceaf
mov eax, dword [edi + 0x78]
cmp eax, ebx
je 0x43ceab
cmp esi, dword [esp + 0x144]
jbe 0x43ceab
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
xor eax, eax
jmp 0x43cebf
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
movzx eax, byte [eax + edx]
shr eax, 4
and eax, 1
mov dl, byte [ebp]
inc ebp
cmp dl, 5
jne 0x43cedd
cmp eax, ecx
jne 0x43c0dc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ecx
je 0x43c0dc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43cf1e
mov eax, dword [edi + 0x68]
cmp esi, eax
jae case.0x43c102.13
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
jne case.0x441d16.14
jmp case.0x43c102.13
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x68]
sub ecx, eax
cmp esi, ecx
ja case.0x43c102.13
mov dl, byte [esi]
cmp dl, byte [edi + 0x2c]
jne case.0x43c102.13
cmp eax, 1
je case.0x441d16.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x441d16.14
mov eax, dword [edi + 0x68]
mov ecx, esi
inc esi
cmp ecx, eax
jae 0x440c1b
cmp dword [esp + 0x30], 0
je 0x43cf6f
cmp esi, eax
jae 0x43cf6f
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43cf6f
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43cf5f
inc ebp
jmp 0x43c0dc
mov eax, esi
inc esi
cmp eax, dword [edi + 0x68]
jae 0x440c53
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43cfe5
cmp edx, 0xc0
jb 0x43cfe5
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43cfe5
nop
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43cfca
cmp edx, 0x100
jae 0x43cffa
mov eax, dword [edi + 0x34]
test byte [edx + eax], 4
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43d065
cmp edx, 0xc0
jb 0x43d065
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43d065
jmp 0x43d04a
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43d04a
cmp edx, 0x100
jae case.0x441d16.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 4
je case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43d0e5
cmp edx, 0xc0
jb 0x43d0e5
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43d0e5
lea esp, [esp]
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43d0ca
cmp edx, 0x100
jae 0x43d0fa
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43d165
cmp edx, 0xc0
jb 0x43d165
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43d165
jmp 0x43d14a
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43d14a
cmp edx, 0x100
jae case.0x441d16.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
je case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43d1e5
cmp edx, 0xc0
jb 0x43d1e5
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43d1e5
lea esp, [esp]
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43d1ca
cmp edx, 0x100
jae 0x43d1fa
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43d265
cmp edx, 0xc0
jb 0x43d265
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43d265
jmp 0x43d24a
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43d24a
cmp edx, 0x100
jae case.0x441d16.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43d2e5
cmp eax, 0xc0
jb 0x43d2e5
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43d2e5
jmp 0x43d2ce
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43d2ca
cmp eax, 0xd
ja 0x43d313
je 0x43d302
cmp eax, 0xa
je 0x43d33a
jbe case.0x441d16.14
cmp eax, 0xc
ja case.0x441d16.14
jmp 0x43d330
cmp esi, dword [edi + 0x68]
jae 0x43d33a
cmp byte [esi], 0xa
jne 0x43d33a
inc esi
inc ebp
jmp 0x43c0dc
cmp eax, 0x85
je 0x43d330
cmp eax, 0x2027
jbe case.0x441d16.14
cmp eax, 0x2029
ja case.0x441d16.14
cmp dword [edi + 0x5c], 0
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43d399
cmp eax, 0xc0
jb 0x43d399
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43d399
jmp 0x43d382
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43d37e
cmp eax, 0x180e
ja 0x43d3dc
je case.0x441d16.14
cmp eax, 0xa0
ja 0x43d3cb
je case.0x441d16.14
cmp eax, 9
je case.0x441d16.14
cmp eax, 0x20
je case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp eax, 0x1680
je case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp eax, 0x205f
ja 0x43d40c
je case.0x441d16.14
cmp eax, 0x2000
jb 0x43d417
cmp eax, 0x200a
jbe case.0x441d16.14
cmp eax, 0x202f
je case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp eax, 0x3000
je case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43d476
cmp eax, 0xc0
jb 0x43d476
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43d476
jmp 0x43d45f
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43d45b
cmp eax, 0x180e
ja 0x43d4ad
je 0x43d4e4
cmp eax, 0xa0
ja 0x43d49c
je 0x43d4e4
cmp eax, 9
je 0x43d4e4
cmp eax, 0x20
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp eax, 0x1680
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp eax, 0x205f
ja 0x43d4d9
je 0x43d4e4
cmp eax, 0x2000
jb case.0x441d16.14
cmp eax, 0x200a
jbe 0x43d4e4
cmp eax, 0x202f
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp eax, 0x3000
jne case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43d545
cmp eax, 0xc0
jb 0x43d545
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43d545
jmp 0x43d52e
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43d52a
cmp eax, 0x85
ja 0x43d566
je case.0x441d16.14
cmp eax, 0xa
jb 0x43d578
cmp eax, 0xd
jbe case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp eax, 0x2028
jb 0x43d578
cmp eax, 0x2029
jbe case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43d5d7
cmp eax, 0xc0
jb 0x43d5d7
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43d5d7
jmp 0x43d5c0
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43d5bc
cmp eax, 0x85
ja 0x43d5f8
je 0x43d60e
cmp eax, 0xa
jb case.0x441d16.14
cmp eax, 0xd
ja case.0x441d16.14
inc ebp
jmp 0x43c0dc
cmp eax, 0x2028
jb case.0x441d16.14
cmp eax, 0x2029
ja case.0x441d16.14
inc ebp
jmp 0x43c0dc
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
add eax, eax
add ebp, 3
cmp eax, dword [esp + 0x148]
mov dword [esp + 0x24], eax
jge 0x43d646
mov ecx, dword [edi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
cmp ecx, ebx
jl 0x43d646
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x43d655
cmp dword [edi + 0x48], ebx
je 0x43d64f
xor ebx, ebx
jmp 0x43d655
mov ebx, dword [edi + 0x68]
sub ebx, esi
inc ebx
mov cl, byte [ebp]
movzx eax, cl
lea edx, [eax - 0x46]
cmp edx, 7
ja case.default.0x43d66e
movzx edx, byte [edx + 0x442016]
jmp dword [edx*4 + 0x44200e]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax + 0x487218]
movsx eax, byte [eax + 0x487220]
inc ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43d6e2
mov dword [esp + 0x1c], accept
jmp 0x43d6e2
movzx eax, byte [ebp + 1]
xor edx, edx
cmp cl, 0x4d
movzx ecx, byte [ebp + 2]
sete dl
shl eax, 8
or eax, ecx
mov dword [esp + 0x20], eax
movzx eax, byte [ebp + 3]
mov dword [esp + 0x2c], edx
movzx edx, byte [ebp + 4]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
jne 0x43d6df
mov dword [esp + 0x1c], accept
add ebp, 5
test ebx, ebx
je 0x43c0dc
mov eax, dword [esp + 0x20]
cmp eax, 1
mov dword [esp + 0x14], 1
jl 0x43d730
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
push esi
push ecx
call fcn.004340c7
add esp, 0x14
test eax, eax
je 0x440d29
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
jle 0x43d6fb
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x43c0dc
cmp dword [esp + 0x2c], 0
je 0x440c5a
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x15c]
inc eax
push eax
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x15c]
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
jmp 0x43d79a
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x14], edx
jge case.0x441d16.14
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
push esi
push ecx
call fcn.004340c7
add esp, 0x14
test eax, eax
je 0x440d29
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
inc dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x14c]
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
add esi, ebx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x43d79a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x24]
push edx
push edi
push ebx
push esi
push eax
call fcn.004340c7
add esp, 0x14
test eax, eax
je 0x440d29
add esi, ebx
jmp 0x43c0dc
mov al, byte [ebp + 0x21]
lea ecx, [ebp + 1]
add ebp, 0x21
mov dword [esp + 0x20], ecx
movzx ecx, al
lea edx, [ecx - 0x46]
cmp edx, 7
ja case.default.0x43d855
movzx edx, byte [edx + 0x442026]
jmp dword [edx*4 + 0x44201e]
add ecx, 0xffffffba
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x487218]
movsx ecx, byte [ecx + 0x487220]
add ebp, edx
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x43d8d7
mov dword [esp + 0x1c], accept
jmp 0x43d8d7
movzx edx, byte [ebp + 2]
xor ecx, ecx
cmp al, 0x4d
movzx eax, byte [ebp + 1]
sete cl
shl eax, 8
or eax, edx
movzx edx, byte [ebp + 4]
mov dword [esp + 0x2c], ecx
movzx ecx, byte [ebp + 3]
shl ecx, 8
or ecx, edx
mov dword [esp + 0x1c], ecx
jne 0x43d8c2
mov dword [esp + 0x1c], accept
add ebp, 5
mov edx, 1
jmp 0x43d8d7
mov edx, 1
mov dword [esp + 0x1c], edx
mov eax, edx
cmp dword [esp + 0x30], 0
mov dword [esp + 0x14], edx
je 0x43d996
cmp eax, edx
jl 0x43d9d2
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x43d950
mov ecx, edx
and ecx, 0x3f
movzx ebx, byte [ecx + 0x486780]
lea ecx, [ebx + ebx*2]
add ecx, ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx*4 + 0x486768]
and ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0x28]
shl edx, cl
test ebx, ebx
jle 0x43d950
mov ecx, dword [esp + 0x28]
dec ebx
mov dword [esp + 0x18], ebx
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
inc esi
mov dword [esp + 0x28], ecx
or edx, ebx
mov ebx, dword [esp + 0x18]
test ebx, ebx
jg 0x43d92d
cmp edx, 0xff
jbe 0x43d965
cmp dword [esp + 0x24], 0x4e
je case.0x441d16.14
jmp 0x43d983
mov ecx, edx
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x20]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, bl
je case.0x441d16.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43d8ee
jmp 0x43d9d2
cmp eax, edx
jl 0x43d9d2
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx edx, byte [esi]
mov ecx, edx
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x20]
shr edx, 3
mov dl, byte [edx + ecx]
inc esi
test dl, bl
je case.0x441d16.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43d99a
mov ebx, dword [esp + 0x1c]
cmp eax, ebx
je 0x43c0dc
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x14], eax
je 0x440eaa
cmp dword [esp + 0x30], 0
je 0x440df2
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
inc eax
push eax
push 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x15c]
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x441d16.14
cmp esi, dword [edi + 0x68]
jae 0x440de0
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x440d65
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x440d65
jmp 0x440d4e
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
lea eax, [ebp + 3]
add ebp, ecx
mov cl, byte [ebp]
mov dword [esp + 0x20], eax
movzx eax, cl
lea edx, [eax - 0x46]
cmp edx, 7
ja case.default.0x43dab6
movzx edx, byte [edx + 0x442036]
jmp dword [edx*4 + 0x44202e]
movsx ebx, byte [eax + 0x4871d2]
add eax, 0xffffffba
movzx ecx, al
movsx eax, byte [eax + 0x487220]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43db2d
mov dword [esp + 0x1c], accept
jmp 0x43db2d
movzx ebx, byte [ebp + 1]
movzx edx, byte [ebp + 4]
xor eax, eax
cmp cl, 0x4d
movzx ecx, byte [ebp + 2]
sete al
shl ebx, 8
or ebx, ecx
mov dword [esp + 0x2c], eax
movzx eax, byte [ebp + 3]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
jne 0x43db1f
mov dword [esp + 0x1c], accept
add ebp, 5
jmp 0x43db2d
mov ebx, 1
mov dword [esp + 0x1c], ebx
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x43dbd4
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43dbad
cmp ecx, 0xc0
jb 0x43dbad
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x28], edx
mov edx, dword [eax*4 + 0x486768]
and edx, ecx
mov ecx, dword [esp + 0x28]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x24], ecx
test eax, eax
jle 0x43dbad
mov edi, edi
movzx edx, byte [esi]
mov ecx, dword [esp + 0x28]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x24]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x24], ecx
test eax, eax
jg 0x43db8a
mov eax, dword [esp + 0x20]
push eax
push ecx
call fcn.00433b06
add esp, 8
test eax, eax
je case.0x441d16.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43db3e
mov eax, dword [esp + 0x1c]
cmp ebx, eax
je 0x43c0dc
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x14], ebx
je 0x4410f4
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
inc eax
push eax
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x15c]
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
cmp ebx, dword [esp + 0x1c]
jge case.0x441d16.14
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43dc98
cmp edx, 0xc0
jb 0x43dc98
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43dc98
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43dc7d
mov ecx, dword [esp + 0x20]
push ecx
push edx
call fcn.00433b06
add esp, 8
test eax, eax
je case.0x441d16.14
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov ebx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x14c]
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
inc ebx
push esi
mov dword [esp + 0x38], ebx
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x43dc31
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], ebx
je 0x43dd4d
movzx eax, byte [ebp + 1]
inc ebp
mov ecx, 1
cmp eax, 0xc0
jb 0x43dd1e
and eax, 0x3f
movzx ecx, byte [eax + 0x486780]
inc ecx
mov edx, dword [edi + 0x68]
sub edx, esi
cmp ecx, edx
jg 0x441263
cmp ecx, ebx
jle 0x43c0dc
mov al, byte [ebp]
mov dl, byte [esi]
dec ecx
inc esi
inc ebp
cmp al, dl
jne case.0x441d16.14
cmp ecx, ebx
jle 0x43c0dc
jmp 0x43dd33
mov eax, dword [edi + 0x68]
sub eax, esi
cmp eax, 1
jl 0x440c53
mov cl, byte [esi]
inc esi
cmp byte [ebp + 1], cl
jne case.0x441d16.14
add ebp, 2
jmp 0x43c0dc
cmp dword [esp + 0x30], ebx
je 0x43de96
movzx ecx, byte [ebp + 1]
inc ebp
mov edx, ecx
mov eax, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ecx
cmp edx, 0xc0
jb 0x43dde4
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x43dddb
movzx ebx, byte [ebx + ebp]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43ddc0
mov ecx, dword [esp + 0x28]
inc eax
mov dword [esp + 0x20], eax
mov ebx, dword [edi + 0x68]
sub ebx, esi
cmp eax, ebx
jg 0x440d29
cmp edx, 0x80
jae 0x43de1a
movzx edx, byte [esi]
mov eax, dword [edi + 0x30]
mov dl, byte [edx + eax]
inc esi
inc ebp
cmp byte [ecx + eax], dl
je 0x43c0dc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43de7d
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
lea ebx, [eax + eax*2]
add ebx, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [eax*4 + 0x486768]
and ebx, ecx
mov ecx, dword [esp + 0x28]
shl ebx, cl
mov ecx, ebx
mov dword [esp + 0x18], ecx
test eax, eax
jle 0x43de7d
lea ebx, [ebx]
movzx ebx, byte [esi]
mov ecx, dword [esp + 0x28]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x18]
dec eax
or ecx, ebx
inc esi
mov dword [esp + 0x18], ecx
test eax, eax
jg 0x43de5a
add ebp, dword [esp + 0x20]
cmp edx, ecx
je 0x43c0dc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [edi + 0x68]
sub ecx, esi
cmp ecx, 1
jl 0x440c53
movzx ecx, byte [esi]
mov eax, dword [edi + 0x30]
movzx edx, byte [ebp + 1]
mov cl, byte [ecx + eax]
inc esi
cmp byte [edx + eax], cl
jne case.0x441d16.14
add ebp, 2
jmp 0x43c0dc
movzx ebx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ebx, 8
or ebx, edx
mov dword [esp + 0x1c], ebx
add ebp, 3
jmp 0x43df64
mov eax, 1
mov dword [esp + 0x28], eax
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
xor eax, eax
xor ebx, ebx
cmp cl, 0x26
sete al
add ebp, 3
mov dword [esp + 0x2c], eax
jmp 0x43df64
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
add ebp, eax
jmp 0x43df5c
mov ebx, 1
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43df5c
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
add ebp, eax
jmp 0x43df64
movsx ebx, byte [eax + 0x4871f9]
add eax, 0xffffffe1
movzx ecx, al
movsx eax, byte [eax + 0x487220]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43df64
mov dword [esp + 0x1c], accept
cmp dword [esp + 0x30], 0
movzx eax, byte [ebp]
mov dword [esp + 0x24], eax
je 0x43e165
mov edx, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebp
cmp eax, 0xc0
jb 0x43e004
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [edx*4 + 0x486768]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x20]
shl eax, cl
mov ecx, 1
cmp edx, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
jl 0x43dfff
movzx ecx, byte [ecx + ebp]
mov edx, dword [esp + 0x20]
sub edx, 6
and ecx, 0x3f
mov dword [esp + 0x24], ecx
mov ecx, edx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x24]
shl edx, cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
or eax, edx
mov edx, dword [esp + 0x34]
cmp ecx, edx
jle 0x43dfca
mov dword [esp + 0x24], eax
inc edx
mov dword [esp + 0x20], edx
add ebp, edx
cmp edx, 1
jle 0x43e166
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x43e057
mov eax, dword [edi + 0x68]
sub eax, edx
cmp esi, eax
ja 0x440d29
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push edx
push esi
call fcn.00412ef3
add esp, 0xc
test eax, eax
jne 0x440d29
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
inc eax
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e01c
cmp ebx, dword [esp + 0x1c]
je 0x43c0dc
cmp dword [esp + 0x2c], 0
jne 0x44127c
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
jge 0x43e0ce
lea esp, [esp]
mov eax, dword [edi + 0x68]
sub eax, dword [esp + 0x20]
cmp esi, eax
ja 0x43e0a9
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push edx
push esi
call fcn.00412ef3
add esp, 0xc
test eax, eax
jne 0x43e0a9
add esi, dword [esp + 0x20]
inc ebx
cmp ebx, dword [esp + 0x1c]
jl 0x43e07a
jmp 0x43e0ce
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43e0ce
cmp esi, dword [edi + 0x68]
jb 0x43e0ce
cmp esi, dword [esp + 0x144]
jbe 0x43e0ce
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp dword [esp + 0x28], 0
jne 0x43c0dc
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
lea ecx, [ecx]
cmp esi, dword [esp + 0x2c]
je case.0x441d16.14
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
sub esi, dword [esp + 0x20]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x43e11a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
inc ebp
test byte [esp + 0x150], 1
je 0x43e268
mov ecx, dword [edi + 0x30]
movzx eax, byte [eax + ecx]
mov dword [esp + 0x24], eax
mov eax, 1
cmp ebx, eax
jl 0x43e1a8
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x24], edx
jne case.0x441d16.14
inc eax
cmp eax, ebx
jle 0x43e188
cmp ebx, dword [esp + 0x1c]
je 0x43c0dc
cmp dword [esp + 0x2c], 0
jne 0x44133a
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
jge 0x43e205
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43e1e5
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
cmp dword [esp + 0x24], edx
jne 0x43e205
inc ebx
inc esi
cmp ebx, dword [esp + 0x1c]
jl 0x43e1ca
jmp 0x43e205
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43e205
cmp esi, dword [esp + 0x144]
jbe 0x43e205
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp dword [esp + 0x28], 0
jne 0x43c0dc
cmp esi, dword [esp + 0x2c]
jb 0x43e25b
mov ebx, dword [esp + 0x15c]
inc ebx
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
dec esi
test eax, eax
jne 0x441e6e
cmp esi, dword [esp + 0x2c]
jae 0x43e21e
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, 1
cmp ebx, ecx
jl 0x43e28b
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x441d16.14
inc ecx
cmp ecx, ebx
jle 0x43e271
cmp ebx, dword [esp + 0x1c]
je 0x43c0dc
cmp dword [esp + 0x2c], 0
jne 0x4413e9
mov eax, dword [esp + 0x1c]
cmp ebx, eax
mov dword [esp + 0x2c], esi
jge 0x43e2e4
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43e2c4
movzx edx, byte [esi]
cmp dword [esp + 0x24], edx
jne 0x43e2e4
inc ebx
inc esi
cmp ebx, eax
jl 0x43e2af
jmp 0x43e2e4
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43e2e4
cmp esi, dword [esp + 0x144]
jbe 0x43e2e4
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp dword [esp + 0x28], 0
jne 0x43c0dc
cmp esi, dword [esp + 0x2c]
jb 0x43e33a
mov ebx, dword [esp + 0x15c]
inc ebx
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
dec esi
test eax, eax
jne 0x441e6e
cmp esi, dword [esp + 0x2c]
jae 0x43e2fd
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp esi, dword [edi + 0x68]
jae 0x440c53
movzx eax, byte [esi]
inc ebp
inc esi
cmp dword [esp + 0x30], ebx
je 0x43e3a5
cmp eax, 0xc0
jb 0x43e3a5
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43e3a5
jmp 0x43e38e
mov ecx, dword [esp + 0x34]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x34], ecx
or eax, ebx
test edx, edx
jg 0x43e38a
test byte [esp + 0x150], 1
je 0x43e3de
cmp eax, 0x100
jae 0x43e3bd
mov edx, dword [edi + 0x30]
movzx eax, byte [edx + eax]
movzx ecx, byte [ebp]
mov edx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc ebp
cmp ecx, eax
jne 0x43c0dc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx edx, byte [ebp]
inc ebp
cmp edx, eax
jne 0x43c0dc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
mov eax, ebx
add ebp, 3
jmp 0x43e49b
movzx ebx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ebx, 8
or ebx, edx
xor edx, edx
xor eax, eax
cmp cl, 0x33
sete dl
add ebp, 3
mov dword [esp + 0x2c], edx
jmp 0x43e49b
mov ecx, 1
xor eax, eax
mov dword [esp + 0x28], ecx
add ebp, ecx
jmp 0x43e496
mov eax, 1
mov dword [esp + 0x28], eax
add ebp, eax
jmp 0x43e496
mov ebx, 1
xor eax, eax
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43e49b
movzx ebx, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl ebx, 8
xor eax, eax
or ebx, ecx
mov dword [esp + 0x28], 1
add ebp, 3
jmp 0x43e49b
lea ecx, [eax - 0x2c]
movsx ebx, byte [ecx + 0x487220]
movzx eax, cl
and eax, 1
inc ebp
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x487218]
test ebx, ebx
jne 0x43e49b
mov ebx, accept
movzx edx, byte [ebp]
inc ebp
test byte [esp + 0x150], 1
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], 1
je 0x43e7e5
cmp dword [esp + 0x30], 0
mov ecx, dword [edi + 0x30]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x24], edx
je 0x43e57c
cmp eax, 1
jl 0x43e5ac
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43e550
mov edx, ecx
and edx, 0x3f
movzx edx, byte [edx + 0x486780]
mov dword [esp + 0x20], edx
lea edx, [edx + edx*2]
add edx, edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
mov edx, dword [edx*4 + 0x486768]
and edx, ecx
mov ecx, dword [esp + 0x1c]
shl edx, cl
cmp dword [esp + 0x20], 0
mov ecx, edx
mov dword [esp + 0x18], ecx
jle 0x43e550
movzx edx, byte [esi]
mov ecx, dword [esp + 0x1c]
dec dword [esp + 0x20]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
inc esi
or ecx, edx
cmp dword [esp + 0x20], 0
mov dword [esp + 0x18], ecx
jg 0x43e527
cmp ecx, 0x100
jae 0x43e55f
mov edx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x24], ecx
je case.0x441d16.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43e4d9
jmp 0x43e5ac
cmp eax, 1
jl 0x43e5ac
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x24], ecx
je case.0x441d16.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43e581
cmp eax, ebx
je 0x43c0dc
cmp dword [esp + 0x2c], 0
jne 0x441491
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43e741
cmp eax, ebx
mov dword [esp + 0x14], eax
jge 0x43e694
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43e679
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43e650
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x486780]
lea ecx, [edx + edx*2]
mov dword [esp + 0x18], edx
mov edx, dword [edx*4 + 0x486768]
and edx, eax
add ecx, ecx
shl edx, cl
mov dword [esp + 0x20], 1
mov eax, edx
mov edx, dword [esp + 0x18]
cmp edx, 1
mov dword [esp + 0x1c], eax
jl 0x43e64f
nop
mov eax, dword [esp + 0x20]
movzx edx, byte [eax + esi]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc eax
mov dword [esp + 0x20], eax
or dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
cmp eax, edx
jle 0x43e62a
mov eax, dword [esp + 0x1c]
inc edx
cmp eax, 0x100
jae 0x43e65e
mov ecx, dword [edi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [esp + 0x24], eax
je 0x43e694
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43e5da
jmp 0x43e694
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43e694
cmp esi, dword [esp + 0x144]
jbe 0x43e694
cmp eax, edx
mov dword [edi + 0x58], edx
jg 0x440c43
cmp dword [esp + 0x28], 0
jne 0x43c0dc
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43e7d8
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43e704
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43e6fa
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x43e6dd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x43e782
cmp esi, dword [edi + 0x68]
jae 0x43e762
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x24], ecx
je 0x43e782
inc eax
inc esi
cmp eax, ebx
jl 0x43e745
jmp 0x43e782
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43e782
cmp esi, dword [esp + 0x144]
jbe 0x43e782
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp dword [esp + 0x28], 0
jne 0x43c0dc
cmp esi, dword [esp + 0x2c]
jb 0x43e7d8
mov ebx, dword [esp + 0x15c]
inc ebx
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43e79b
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
je 0x43e88f
cmp eax, 1
jl 0x43e8b6
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43e874
mov edx, ecx
and edx, 0x3f
movzx edx, byte [edx + 0x486780]
mov dword [esp + 0x20], edx
lea edx, [edx + edx*2]
add edx, edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
mov edx, dword [edx*4 + 0x486768]
and edx, ecx
mov ecx, dword [esp + 0x1c]
shl edx, cl
cmp dword [esp + 0x20], 0
mov ecx, edx
mov dword [esp + 0x18], ecx
jle 0x43e870
movzx edx, byte [esi]
mov ecx, dword [esp + 0x1c]
dec dword [esp + 0x20]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
inc esi
or ecx, edx
cmp dword [esp + 0x20], 0
mov dword [esp + 0x18], ecx
jg 0x43e847
mov edx, dword [esp + 0x24]
cmp edx, ecx
je case.0x441d16.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43e7f9
jmp 0x43e8b6
cmp eax, 1
jl 0x43e8b6
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx ecx, byte [esi]
inc esi
cmp edx, ecx
je case.0x441d16.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43e894
cmp eax, ebx
je 0x43c0dc
cmp dword [esp + 0x2c], 0
jne 0x441667
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43ea42
cmp eax, ebx
mov dword [esp + 0x14], eax
jge 0x43e99b
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43e97b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43e960
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
lea ecx, [eax + eax*2]
mov dword [esp + 0x18], eax
mov eax, dword [eax*4 + 0x486768]
and eax, edx
add ecx, ecx
shl eax, cl
mov dword [esp + 0x20], 1
mov edx, eax
mov eax, dword [esp + 0x18]
cmp eax, 1
mov dword [esp + 0x1c], edx
jl 0x43e95f
lea ebx, [ebx]
mov edx, dword [esp + 0x20]
movzx eax, byte [edx + esi]
and eax, 0x3f
sub ecx, 6
shl eax, cl
inc edx
mov dword [esp + 0x20], edx
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
cmp edx, eax
jle 0x43e93a
mov edx, dword [esp + 0x1c]
inc eax
cmp dword [esp + 0x24], edx
je 0x43e99b
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43e8e4
jmp 0x43e99b
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43e99b
cmp esi, dword [esp + 0x144]
jbe 0x43e99b
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp dword [esp + 0x28], 0
jne 0x43c0dc
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43ead4
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43ea05
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43e9fb
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x43e9e4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x43ea7e
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43ea5e
movzx edx, byte [esi]
cmp dword [esp + 0x24], edx
je 0x43ea7e
inc eax
inc esi
cmp eax, ebx
jl 0x43ea49
jmp 0x43ea7e
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43ea7e
cmp esi, dword [esp + 0x144]
jbe 0x43ea7e
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp dword [esp + 0x28], 0
jne 0x43c0dc
cmp esi, dword [esp + 0x2c]
jb 0x43ead4
mov ebx, dword [esp + 0x15c]
inc ebx
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43ea97
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], 1
add ebp, 3
jmp 0x43eb9f
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
xor eax, eax
xor ebx, ebx
cmp cl, 0x40
sete al
add ebp, 3
mov dword [esp + 0x2c], eax
jmp 0x43eb9f
xor ebx, ebx
mov dword [esp + 0x28], 1
inc ebp
jmp 0x43eb97
mov ebx, 1
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43eb97
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
add ebp, eax
jmp 0x43eb9f
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
xor ebx, ebx
mov dword [esp + 0x28], 1
mov dword [esp + 0x1c], eax
add ebp, 3
jmp 0x43eb9f
movsx ebx, byte [eax + 0x4871df]
add eax, 0xffffffc7
movzx ecx, al
movsx eax, byte [eax + 0x487220]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43eb9f
mov dword [esp + 0x1c], accept
movzx eax, byte [ebp]
mov edx, 1
add ebp, edx
mov dword [esp + 0x20], eax
test ebx, ebx
jle 0x43f692
add eax, 0xfffffffa
cmp dword [esp + 0x30], 0
je 0x43f330
cmp eax, 0xf
ja case.0x441cfc.15
jmp dword [eax*4 + 0x44203e]
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43f692
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x441820
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43ec13
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
jne case.0x441d16.14
lea edx, [eax + 1]
jmp 0x43ec37
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43ec37
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43ec37
cmp ecx, edx
je case.0x441d16.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x441d16.14
add esi, edx
cmp esi, dword [edi + 0x68]
jae 0x43ec4d
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ec4d
add esi, edx
cmp esi, dword [edi + 0x68]
jb 0x43ec3e
mov eax, dword [esp + 0x14]
add eax, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43ebe0
jmp 0x43f692
cmp ebx, edx
mov eax, edx
jl 0x43f692
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x441820
add esi, edx
cmp esi, ecx
jae 0x43ec90
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43ec8b
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43ec7b
mov edx, 1
add eax, edx
cmp eax, ebx
jle 0x43ec6d
jmp 0x43f692
mov eax, dword [edi + 0x68]
sub eax, ebx
cmp esi, eax
ja case.0x441d16.14
add esi, ebx
jmp 0x43f692
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43f692
jmp 0x43eccf
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43ed31
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486768]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43ed31
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43ed0e
cmp eax, 0xd
ja 0x43ed5b
je 0x43ed4e
cmp eax, 0xa
je 0x43ed82
jbe case.0x441d16.14
cmp eax, 0xc
ja case.0x441d16.14
jmp 0x43ed78
cmp esi, dword [edi + 0x68]
jae 0x43ed82
cmp byte [esi], 0xa
jne 0x43ed82
inc esi
jmp 0x43ed82
cmp eax, 0x85
je 0x43ed78
cmp eax, 0x2027
jbe case.0x441d16.14
cmp eax, 0x2029
ja case.0x441d16.14
cmp dword [edi + 0x5c], 0
jne case.0x441d16.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43ecca
jmp 0x43f692
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43f692
jmp 0x43edaf
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43ee11
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486768]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43ee11
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43edee
cmp eax, 0x180e
ja 0x43ee4c
je case.0x441d16.14
cmp eax, 0xa0
ja 0x43ee3f
je case.0x441d16.14
cmp eax, 9
je case.0x441d16.14
cmp eax, 0x20
je case.0x441d16.14
jmp 0x43ee83
cmp eax, 0x1680
je case.0x441d16.14
jmp 0x43ee83
cmp eax, 0x205f
ja 0x43ee78
je case.0x441d16.14
cmp eax, 0x2000
jb 0x43ee83
cmp eax, 0x200a
jbe case.0x441d16.14
cmp eax, 0x202f
je case.0x441d16.14
jmp 0x43ee83
cmp eax, 0x3000
je case.0x441d16.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43edaa
jmp 0x43f692
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43f692
jmp 0x43eeaf
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43ef11
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486768]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43ef11
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43eeee
cmp eax, 0x180e
ja 0x43ef40
je 0x43ef73
cmp eax, 0xa0
ja 0x43ef33
je 0x43ef73
cmp eax, 9
je 0x43ef73
cmp eax, 0x20
jne case.0x441d16.14
jmp 0x43ef73
cmp eax, 0x1680
jne case.0x441d16.14
jmp 0x43ef73
cmp eax, 0x205f
ja 0x43ef68
je 0x43ef73
cmp eax, 0x2000
jb case.0x441d16.14
cmp eax, 0x200a
jbe 0x43ef73
cmp eax, 0x202f
jne case.0x441d16.14
jmp 0x43ef73
cmp eax, 0x3000
jne case.0x441d16.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43eeaa
jmp 0x43f692
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43f692
jmp 0x43ef9f
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43f001
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486768]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43f001
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43efde
cmp eax, 0x85
ja 0x43f01e
je case.0x441d16.14
cmp eax, 0xa
jb 0x43f030
cmp eax, 0xd
jbe case.0x441d16.14
jmp 0x43f030
cmp eax, 0x2028
jb 0x43f030
cmp eax, 0x2029
jbe case.0x441d16.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43ef9a
jmp 0x43f692
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43f692
jmp 0x43f05f
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43f0c1
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486768]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43f0c1
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43f09e
cmp eax, 0x85
ja 0x43f0de
je 0x43f0f4
cmp eax, 0xa
jb case.0x441d16.14
cmp eax, 0xd
ja case.0x441d16.14
jmp 0x43f0f4
cmp eax, 0x2028
jb case.0x441d16.14
cmp eax, 0x2029
ja case.0x441d16.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43f05a
jmp 0x43f692
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43f692
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43f182
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [eax*4 + 0x486768]
and edx, ecx
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x24], ecx
test eax, eax
jle 0x43f17d
movzx edx, byte [esi]
mov ecx, dword [esp + 0x18]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x24]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x24], ecx
test eax, eax
jg 0x43f15a
mov edx, 1
cmp ecx, 0x80
jae 0x43f197
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 4
jne case.0x441d16.14
mov eax, dword [esp + 0x14]
add eax, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43f116
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
jmp 0x43f1bf
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
mov al, byte [esi]
cmp al, 0x80
jae case.0x441d16.14
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
and dl, 4
inc esi
test dl, dl
je case.0x441d16.14
inc ecx
cmp ecx, ebx
jle 0x43f1ba
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x441820
mov al, byte [esi]
cmp al, 0x80
jae 0x43f221
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 1
jne case.0x441d16.14
mov edx, 1
mov eax, dword [edi + 0x68]
add esi, edx
cmp esi, eax
jae 0x43f239
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x43f21c
mov edx, 1
add ecx, edx
cmp ecx, ebx
jle 0x43f1fe
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
jmp 0x43f25f
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
mov al, byte [esi]
cmp al, 0x80
jae case.0x441d16.14
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
and al, 1
inc esi
test al, al
je case.0x441d16.14
inc ecx
cmp ecx, ebx
jle 0x43f25a
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
mov eax, dword [edi + 0x68]
cmp esi, eax
jae case.0x441d16.14
mov al, byte [esi]
cmp al, 0x80
jae 0x43f2c0
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
jne case.0x441d16.14
mov edx, 1
mov eax, dword [edi + 0x68]
add esi, edx
cmp esi, eax
jae 0x43f2d8
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x43f2bb
mov edx, 1
add ecx, edx
cmp ecx, ebx
jle 0x43f29d
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
jmp 0x43f2ff
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
mov al, byte [esi]
cmp al, 0x80
jae case.0x441d16.14
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
and al, 0x10
inc esi
test al, al
je case.0x441d16.14
inc ecx
cmp ecx, ebx
jle 0x43f2fa
jmp 0x43f692
cmp eax, 0xf
ja case.0x441cfc.15
jmp dword [eax*4 + 0x44207e]
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43f692
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x441820
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43f37c
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
jne case.0x441d16.14
lea edx, [eax + 1]
jmp 0x43f3a0
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43f3a0
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43f3a0
cmp ecx, edx
je case.0x441d16.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x441d16.14
mov eax, dword [esp + 0x14]
add eax, edx
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43f34c
jmp 0x43f692
mov eax, dword [edi + 0x68]
sub eax, ebx
cmp esi, eax
ja 0x441820
add esi, ebx
jmp 0x43f692
mov ecx, dword [edi + 0x68]
sub ecx, ebx
cmp esi, ecx
ja 0x441820
add esi, ebx
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x440c1b
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x441d16.14
movzx eax, byte [eax + 0x4420ce]
jmp dword [eax*4 + 0x4420be]
cmp esi, edx
jae case.0x43f409.10
cmp byte [esi], 0xa
jne case.0x43f409.10
inc esi
jmp case.0x43f409.10
cmp dword [edi + 0x5c], 0
jne case.0x441d16.14
inc ecx
cmp ecx, ebx
jle 0x43f3ea
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x440c1b
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x441d16.14
cmp eax, 0x20
je case.0x441d16.14
cmp eax, 0xa0
je case.0x441d16.14
inc ecx
cmp ecx, ebx
jle 0x43f43d
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x440c1b
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43f49e
cmp eax, 0x20
je 0x43f49e
cmp eax, 0xa0
jne case.0x441d16.14
inc ecx
cmp ecx, ebx
jle 0x43f47d
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
mov edx, dword [edi + 0x68]
jmp 0x43f4ba
cmp esi, edx
jae 0x440c1b
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43f4df
cmp eax, 0xd
jle case.0x441d16.14
cmp eax, 0x85
je case.0x441d16.14
inc ecx
cmp ecx, ebx
jle 0x43f4ba
jmp 0x43f692
cmp ebx, edx
mov ecx, edx
jl 0x43f692
mov edx, dword [edi + 0x68]
lea esp, [esp]
cmp esi, edx
jae 0x440c1b
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x441d16.14
cmp eax, 0xd
jle 0x43f51f
cmp eax, 0x85
jne case.0x441d16.14
inc ecx
cmp ecx, ebx
jle 0x43f4fa
jmp 0x43f692
cmp ebx, edx
mov eax, edx
jl 0x43f692
jmp 0x43f53f
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 4
inc esi
test cl, cl
jne case.0x441d16.14
inc eax
cmp eax, ebx
jle 0x43f53a
jmp 0x43f692
cmp ebx, edx
mov eax, edx
jl 0x43f692
jmp 0x43f57f
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 4
inc esi
test dl, dl
je case.0x441d16.14
inc eax
cmp eax, ebx
jle 0x43f57a
jmp 0x43f692
cmp ebx, edx
mov eax, edx
jl 0x43f692
jmp 0x43f5bf
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 1
inc esi
test cl, cl
jne case.0x441d16.14
inc eax
cmp eax, ebx
jle 0x43f5ba
jmp 0x43f692
cmp ebx, edx
mov eax, edx
jl 0x43f692
jmp 0x43f5ff
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 1
inc esi
test dl, dl
je case.0x441d16.14
inc eax
cmp eax, ebx
jle 0x43f5fa
jmp 0x43f692
cmp ebx, edx
mov eax, edx
jl 0x43f692
jmp 0x43f631
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 0x10
inc esi
test cl, cl
jne case.0x441d16.14
inc eax
cmp eax, ebx
jle 0x43f62c
jmp 0x43f692
cmp ebx, edx
mov eax, edx
jl 0x43f692
jmp 0x43f66f
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x441820
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 0x10
inc esi
test dl, dl
je case.0x441d16.14
inc eax
cmp eax, ebx
jle 0x43f66a
cmp ebx, dword [esp + 0x1c]
je 0x43c0dc
cmp dword [esp + 0x2c], 0
jne 0x441852
mov eax, dword [esp + 0x20]
add eax, 0xfffffffa
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43ffd6
cmp eax, 0xf
ja case.0x441cfc.15
jmp dword [eax*4 + 0x44214a]
mov edx, dword [esp + 0x1c]
cmp edx, 0x7fffffff
jge 0x43f762
cmp ebx, edx
jge 0x43ff2f
jmp 0x43f6ea
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43f837
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43f71e
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
jne 0x43ff2f
mov edx, dword [esp + 0x1c]
jmp 0x43f743
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43f743
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43f743
cmp ecx, 1
je 0x43ff2f
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43ff2f
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43f758
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43f758
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43f74a
inc ebx
cmp ebx, edx
jl 0x43f6ea
jmp 0x43ff2f
cmp ebx, edx
jge 0x43ff2f
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43f837
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43f79e
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
jne 0x43ff2f
mov edx, dword [esp + 0x1c]
jmp 0x43f7c3
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43f7c3
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43f7c3
cmp ecx, 1
je 0x43ff2f
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43ff2f
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43f7d8
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43f7d8
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43f7ca
inc ebx
cmp ebx, edx
jl 0x43f76a
jmp 0x43ff2f
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x7fffffff
jge 0x43f81c
cmp ebx, ecx
jge 0x43ff2f
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43f837
inc esi
cmp esi, eax
jae 0x43f812
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43f812
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43f802
inc ebx
cmp ebx, ecx
jl 0x43f7f9
jmp 0x43ff2f
mov esi, dword [edi + 0x68]
jmp 0x43ff2f
mov ecx, dword [edi + 0x68]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, ebx
sub edx, esi
cmp eax, edx
jbe 0x43f864
mov esi, ecx
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43ff2f
cmp esi, dword [esp + 0x144]
jbe 0x43ff2f
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
jmp 0x43ff2f
add esi, eax
jmp 0x43ff2f
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43ff2f
nop
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43f948
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43f8e5
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
and ebx, eax
lea ecx, [edx + edx*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x34], edx
mov eax, ebx
mov ebx, 1
cmp edx, ebx
mov dword [esp + 0x18], ebx
jl 0x43f8e4
movzx edx, byte [ebx + esi]
mov ebx, dword [esp + 0x18]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc ebx
mov dword [esp + 0x18], ebx
or eax, edx
mov edx, dword [esp + 0x34]
cmp ebx, edx
jle 0x43f8c5
inc edx
cmp eax, 0xd
jne 0x43f8fc
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43ff2f
cmp byte [esi], 0xa
jne 0x43f930
inc esi
jmp 0x43f930
cmp eax, 0xa
je 0x43f92e
cmp dword [edi + 0x5c], 0
jne 0x43ff2f
cmp eax, 0xb
je 0x43f92e
cmp eax, 0xc
je 0x43f92e
cmp eax, 0x85
je 0x43f92e
cmp eax, 0x2028
je 0x43f92e
cmp eax, 0x2029
jne 0x43ff2f
add esi, edx
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f87a
jmp 0x43ff2f
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43ff2f
cmp esi, dword [esp + 0x144]
jbe 0x43ff2f
cmp eax, edx
mov dword [edi + 0x58], edx
jg 0x440c43
jmp 0x43ff2f
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43ff2f
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43f948
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43f9e5
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
and ebx, eax
lea ecx, [edx + edx*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x34], edx
mov eax, ebx
mov ebx, 1
cmp edx, ebx
mov dword [esp + 0x18], ebx
jl 0x43f9e4
movzx edx, byte [ebx + esi]
mov ebx, dword [esp + 0x18]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc ebx
mov dword [esp + 0x18], ebx
or eax, edx
mov edx, dword [esp + 0x34]
cmp ebx, edx
jle 0x43f9c5
inc edx
cmp eax, 0x180e
ja 0x43fa41
je 0x43fa05
cmp eax, 0xa0
ja 0x43fa36
je 0x43fa05
cmp eax, 9
je 0x43fa05
cmp eax, 0x20
jne 0x43fa6a
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0x12
sete al
cmp ecx, eax
je 0x43ff2f
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f97e
jmp 0x43ff2f
cmp eax, 0x1680
je 0x43fa05
xor ecx, ecx
jmp 0x43fa0a
cmp eax, 0x205f
ja 0x43fa63
je 0x43fa05
cmp eax, 0x2000
jb 0x43fa6a
cmp eax, 0x200a
jbe 0x43fa05
cmp eax, 0x202f
je 0x43fa05
xor ecx, ecx
jmp 0x43fa0a
cmp eax, 0x3000
je 0x43fa05
xor ecx, ecx
jmp 0x43fa0a
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43ff2f
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43f948
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43fae7
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
and ebx, eax
lea ecx, [edx + edx*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x34], edx
mov eax, ebx
mov ebx, 1
cmp edx, ebx
mov dword [esp + 0x18], ebx
jl 0x43fae6
movzx edx, byte [ebx + esi]
mov ebx, dword [esp + 0x18]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc ebx
mov dword [esp + 0x18], ebx
or eax, edx
mov edx, dword [esp + 0x34]
cmp ebx, edx
jle 0x43fac7
inc edx
cmp eax, 0x85
ja 0x43fb28
je 0x43fb36
cmp eax, 0xa
jb 0x43fafa
cmp eax, 0xd
jbe 0x43fb36
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x20], 0x14
sete al
cmp ecx, eax
je 0x43ff2f
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43fa7c
jmp 0x43ff2f
cmp eax, 0x2028
jb 0x43fafa
cmp eax, 0x2029
ja 0x43fafa
mov ecx, 1
jmp 0x43fafc
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43ff2f
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43f837
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43fbb6
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x43fbb5
lea esp, [esp]
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43fb9a
inc eax
cmp edx, 0x100
jae 0x43fbcb
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 4
jne 0x43ff2f
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43fb4b
jmp 0x43ff2f
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43ff2f
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43f837
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43fc56
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x43fc55
lea ecx, [ecx]
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43fc3a
inc eax
cmp edx, 0x100
jae 0x43ff2f
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 4
je 0x43ff2f
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43fbf3
jmp 0x43ff2f
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43ff2f
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43f837
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43fcf7
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x43fcf6
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43fcdb
inc eax
cmp edx, 0x100
jae 0x43fd0c
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 1
jne 0x43ff2f
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43fc97
jmp 0x43ff2f
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43ff2f
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43f837
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43fd98
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x43fd97
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43fd7c
inc eax
cmp edx, 0x100
jae 0x43ff2f
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 1
je 0x43ff2f
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43fd34
jmp 0x43ff2f
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43ff2f
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43f837
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43fe46
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x43fe45
jmp 0x43fe2a
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43fe2a
inc eax
cmp edx, 0x100
jae 0x43fe5b
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 0x10
jne 0x43ff2f
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43fdd9
jmp 0x43ff2f
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43ff2f
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ff0f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43fee7
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x43fee6
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43fecb
inc eax
cmp edx, 0x100
jae 0x43ff2f
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 0x10
je 0x43ff2f
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43fe83
jmp 0x43ff2f
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43ff2f
cmp esi, dword [esp + 0x144]
jbe 0x43ff2f
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp dword [esp + 0x28], 0
jne 0x43c0dc
mov ebx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc ebx
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je 0x4403a7
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ff99
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43ff8d
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x43ff78
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, 0xf
ja case.0x441cfc.15
jmp dword [eax*4 + 0x44218a]
cmp ebx, dword [esp + 0x1c]
jge 0x440341
jmp 0x43fffa
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x44006c
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x440027
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
jne 0x440341
jmp 0x44004c
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44004c
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x44004c
cmp ecx, 1
je 0x440341
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x440341
inc ebx
inc esi
cmp ebx, dword [esp + 0x1c]
jl 0x43fffa
jmp 0x440341
mov ecx, dword [edi + 0x68]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, ebx
sub edx, esi
cmp eax, edx
jbe 0x440099
mov esi, ecx
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440341
cmp esi, dword [esp + 0x144]
jbe 0x440341
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
jmp 0x440341
add esi, eax
jmp 0x440341
mov edx, dword [esp + 0x1c]
cmp ebx, edx
jge 0x440341
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x44006c
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x4400cb
inc esi
cmp esi, ecx
jae 0x440341
cmp byte [esi], 0xa
jne 0x4400f0
jmp 0x4400ef
cmp eax, 0xa
je 0x4400ef
cmp dword [edi + 0x5c], 0
jne 0x440341
cmp eax, 0xb
je 0x4400ef
cmp eax, 0xc
je 0x4400ef
cmp eax, 0x85
jne 0x440341
inc esi
inc ebx
cmp ebx, edx
jl 0x4400af
jmp 0x440341
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x440341
mov edx, dword [edi + 0x68]
nop
cmp esi, edx
jae 0x44006c
movzx eax, byte [esi]
cmp eax, 9
je 0x440341
cmp eax, 0x20
je 0x440341
cmp eax, 0xa0
je 0x440341
inc ebx
inc esi
cmp ebx, ecx
jl 0x44010a
jmp 0x440341
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x440341
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x44006c
movzx eax, byte [esi]
cmp eax, 9
je 0x44016c
cmp eax, 0x20
je 0x44016c
cmp eax, 0xa0
jne 0x440341
inc ebx
inc esi
cmp ebx, ecx
jl 0x44014c
jmp 0x440341
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x440341
mov edx, dword [edi + 0x68]
lea esp, [esp]
cmp esi, edx
jae 0x44006c
movzx eax, byte [esi]
cmp eax, 0xa
je 0x440341
cmp eax, 0xb
je 0x440341
cmp eax, 0xc
je 0x440341
cmp eax, 0xd
je 0x440341
cmp eax, 0x85
je 0x440341
inc ebx
inc esi
cmp ebx, ecx
jl 0x44018a
jmp 0x440341
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x440341
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x44006c
movzx eax, byte [esi]
cmp eax, 0xa
je 0x440208
cmp eax, 0xb
je 0x440208
cmp eax, 0xc
je 0x440208
cmp eax, 0xd
je 0x440208
cmp eax, 0x85
jne 0x440341
inc ebx
inc esi
cmp ebx, ecx
jl 0x4401de
jmp 0x440341
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x440341
cmp esi, dword [edi + 0x68]
jae 0x44006c
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 4
jne 0x440341
inc ebx
inc esi
cmp ebx, eax
jl 0x44021f
jmp 0x440341
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x440341
cmp esi, dword [edi + 0x68]
jae 0x44006c
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 4
je 0x440341
inc ebx
inc esi
cmp ebx, eax
jl 0x44024f
jmp 0x440341
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x440341
cmp esi, dword [edi + 0x68]
jae 0x44006c
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 1
jne 0x440341
inc ebx
inc esi
cmp ebx, eax
jl 0x44027f
jmp 0x440341
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x440341
cmp esi, dword [edi + 0x68]
jae 0x44006c
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 1
je 0x440341
inc ebx
inc esi
cmp ebx, eax
jl 0x4402af
jmp 0x440341
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x440341
cmp esi, dword [edi + 0x68]
jae 0x44006c
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
jne 0x440341
inc ebx
inc esi
cmp ebx, eax
jl 0x4402df
jmp 0x440341
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x440341
cmp esi, dword [edi + 0x68]
jae 0x440321
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x440341
inc ebx
inc esi
cmp ebx, eax
jl 0x440308
jmp 0x440341
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440341
cmp esi, dword [esp + 0x144]
jbe 0x440341
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp dword [esp + 0x28], 0
jne 0x43c0dc
cmp esi, dword [esp + 0x2c]
jb 0x4403a7
mov ebx, dword [esp + 0x15c]
inc ebx
jmp 0x44036a
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
dec esi
test eax, eax
jne 0x441e6e
cmp esi, dword [esp + 0x2c]
jae 0x44036a
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx eax, byte [ebp + 4]
movzx ecx, byte [ebp + 5]
shl eax, 8
or eax, ecx
cmp byte [eax + ebp + 3], 0x54
lea ebp, [eax + ebp + 3]
jne 0x4403e1
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x4403cc
add ebp, 3
cmp dword [esp + 0x24], 0x63
je 0x44093f
mov ebx, dword [esp + 0x154]
jmp 0x440631
movzx eax, byte [ebp + 3]
movzx ecx, byte [ebp + 4]
shl eax, 8
or eax, ecx
lea ebx, [eax + eax]
cmp ebx, dword [edi + 0x14]
mov dword [esp + 0x2c], eax
jl 0x4407f7
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0x154]
xor eax, eax
cmp dword [esp + 0x24], 0x61
setl al
shl edx, 8
dec eax
and eax, 2
mov dword [esp + 0x158], eax
movzx eax, byte [ebp + 2]
or edx, eax
cmp byte [edx + ebp], 0x54
jne 0x4404bf
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x150]
inc eax
push eax
mov eax, dword [esp + 0x14c]
push ecx
mov ecx, dword [esp + 0x14c]
push ebx
push edx
movzx edx, byte [ebp]
push edi
push eax
movzx eax, byte [edx + 0x4866c0]
push ecx
add eax, ebp
push eax
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x44049c
cmp eax, 0xfffffc1c
jne 0x441e6e
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
movzx eax, byte [ebp + ecx + 1]
add ebp, ecx
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
cmp byte [eax + ebp], 0x54
je 0x44044b
cmp dword [esp + 0x158], 0
jne 0x4408f2
movzx edx, byte [ebp]
movzx eax, byte [edx + 0x4866c0]
add ebp, eax
jmp 0x44063c
cmp byte [ebp + 3], 0x19
lea ecx, [ebp + 3]
mov dword [esp + 0x18], ecx
jne 0x440503
mov edx, dword [esp + 0x150]
movzx ecx, byte [ebp + 4]
and edx, 0xfffffff8
or ecx, edx
mov dword [esp + 0x150], ecx
cmp byte [ebp], 0x57
jne 0x440546
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x150]
inc ecx
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push ebx
push edx
push edi
push eax
mov eax, dword [esp + 0x15c]
push eax
push ecx
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov ebp, dword [esp + 0x20]
jmp 0x440631
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
inc edx
push edx
mov edx, dword [esp + 0x148]
push 2
push ebx
push ecx
push edi
push eax
mov eax, dword [esp + 0x38]
push edx
push eax
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov ebp, dword [esp + 0x18]
jmp 0x440631
mov ecx, dword [esp + 0x20]
cmp byte [ecx], 0x61
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
cmp byte [ebp], 0x57
mov dword [esp + 0x158], eax
jne 0x4405f0
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
push 0
push ebx
push eax
push edi
push ecx
push edx
add ebp, 3
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
cmp dword [esp + 0x158], eax
jne 0x440bbd
mov ebp, dword [esp + 0x20]
jmp 0x44063c
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x38]
inc eax
push eax
mov eax, dword [esp + 0x14c]
push ecx
mov ecx, dword [esp + 0x14c]
push ebx
push edx
mov edx, dword [esp + 0x30]
push edi
push eax
push ecx
push edx
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
add ebp, 3
mov dword [esp + 0x158], 0
mov ecx, dword [edi]
mov eax, dword [edi + 0x44]
mov dword [esp + 0x30], eax
cmp ecx, dword [edi + 4]
jb 0x43c0a2
inc dword [edi]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
inc edx
push edx
mov edx, dword [esp + 0x154]
push eax
mov eax, dword [esp + 0x150]
push ecx
mov ecx, dword [esp + 0x150]
push edx
movzx edx, byte [ebp]
push edi
push eax
movzx eax, byte [edx + 0x4866c0]
push ecx
add eax, ebp
push eax
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
mov eax, dword [esp + 0x154]
inc ecx
push ecx
mov ecx, dword [esp + 0x154]
push edx
mov edx, dword [esp + 0x150]
push eax
mov eax, dword [esp + 0x150]
push ecx
movzx ecx, byte [ebp]
push edi
push edx
movzx edx, byte [ecx + 0x4866c0]
push eax
add edx, ebp
push edx
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov eax, 0xfffffc19
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x154]
inc eax
push eax
mov eax, dword [esp + 0x154]
push ecx
mov ecx, dword [esp + 0x150]
push edx
mov edx, dword [esp + 0x150]
push eax
movzx eax, byte [ebp]
push edi
push ecx
movzx ecx, byte [eax + 0x4866c0]
push edx
add ecx, ebp
push ecx
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov dword [edi + 0x6c], esi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
inc edx
push edx
mov edx, dword [esp + 0x154]
push eax
mov eax, dword [esp + 0x150]
push ecx
mov ecx, dword [esp + 0x150]
push edx
movzx edx, byte [ebp]
push edi
push eax
movzx eax, byte [edx + 0x4866c0]
push ecx
add eax, ebp
push eax
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + ebx*4]
mov edx, dword [eax + ebx*4 + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x10]
sub ecx, dword [esp + 0x2c]
mov dword [esp + 0x38], edx
mov edx, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [edi + 0x80]
mov dword [esp + 0x20], edx
mov edx, esi
sub edx, dword [edi + 0x64]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x15c]
mov dword [eax], edx
xor eax, eax
cmp dword [esp + 0x24], 0x62
setne al
dec eax
and eax, 2
inc ecx
mov dword [esp + 0x158], eax
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
push edx
mov edx, dword [esp + 0x154]
push eax
mov eax, dword [esp + 0x150]
push ecx
mov ecx, dword [esp + 0x150]
push edx
movzx edx, byte [ebp]
push edi
push eax
movzx eax, byte [edx + 0x4866c0]
push ecx
add eax, ebp
push eax
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x4408a0
cmp eax, 0xfffffc1c
jne 0x441e6e
mov ecx, dword [esp + 0x34]
mov dword [edi + 0x80], ecx
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x44084c
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x18]
mov dword [ecx + ebx*4], edx
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [eax + ebx*4 + 4], ecx
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x2c]
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x20]
mov dword [eax + edx*4], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
inc edx
push edx
mov edx, dword [esp + 0x14c]
push eax
mov eax, dword [esp + 0x14c]
push ebx
push ecx
movzx ecx, byte [ebp]
push edi
push edx
movzx edx, byte [ecx + 0x4866c0]
push eax
add edx, ebp
push edx
push esi
call fcn.0043c06a
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
inc eax
push eax
mov eax, dword [esp + 0x14c]
push 2
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x144]
cmp esi, eax
jne 0x4409aa
cmp dword [edi + 0x50], ebx
jne case.0x441d16.14
cmp dword [edi + 0x54], ebx
je 0x4409aa
mov edx, dword [edi + 0x84]
add edx, dword [edi + 0x64]
cmp eax, edx
je case.0x441d16.14
mov ecx, dword [esp + 0x148]
mov dword [edi + 0x70], esi
mov dword [edi + 0x7c], ecx
mov dword [edi + 0x6c], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx ebx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
mov eax, dword [edi + 0x60]
shl ebx, 8
or ebx, edx
add ebx, eax
cmp ebx, eax
jne 0x4409ea
mov dword [esp + 0x40], 0
jmp 0x4409fb
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, ecx
mov dword [esp + 0x40], eax
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x90]
add ebp, 3
cmp ecx, 0x1e
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], edx
mov dword [edi + 0x90], eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x50], ecx
jg 0x440a2f
lea eax, [esp + 0xc0]
mov dword [esp + 0x4c], eax
jmp 0x440a59
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x492650]
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x440a55
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x50]
lea edx, [ecx*4]
mov ecx, dword [edi + 0xc]
push edx
push ecx
push eax
call fcn.00412300
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], eax
mov al, byte [ebx]
add esp, 0xc
cmp al, 0x61
sbb ebp, ebp
and ebp, 0xfffffffe
add ebp, 2
inc ecx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x154]
push edx
mov edx, dword [esp + 0x154]
push ebp
push ecx
mov ecx, dword [esp + 0x154]
push edx
movzx edx, al
movzx eax, byte [edx + 0x4866c0]
push edi
push ecx
push esi
add eax, ebx
push eax
push esi
call fcn.0043c06a
add esp, 0x24
mov dword [esp + 0x18], eax
cmp eax, 1
je 0x440b5e
test eax, eax
je 0x440aee
cmp eax, 0xfffffc1c
jne 0x440b91
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x3c]
lea eax, [edx*4]
mov edx, dword [edi + 0xc]
mov dword [edi + 0x90], ecx
mov ecx, dword [esp + 0x4c]
push eax
push ecx
push edx
call fcn.00412300
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
mov al, byte [ebx]
add esp, 0xc
cmp al, 0x54
je 0x440a9c
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x90], eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0xc0]
cmp eax, ecx
je 0x440b51
push eax
call dword [0x492654]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0xc0]
mov dword [edi + 0x90], edx
cmp eax, ecx
je 0x440b81
push eax
call dword [0x492654]
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0xc0]
cmp ecx, edx
je 0x441e6e
push ecx
call dword [0x492654]
mov eax, dword [esp + 0x1c]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x38]
inc edx
push edx
mov edx, dword [esp + 0x14c]
push eax
mov eax, dword [esp + 0x14c]
push ebx
push ecx
mov ecx, dword [esp + 0x30]
push edi
push edx
push eax
push ecx
push esi
call fcn.0043c06a
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x148]
mov dword [edi + 0x70], esi
mov dword [edi + 0x7c], edx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x441d16.14
cmp esi, dword [esp + 0x144]
jbe case.0x441d16.14
mov dword [edi + 0x58], 1
cmp eax, 1
jle case.0x441d16.14
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
cmp eax, ebx
jmp 0x440c20
cmp eax, ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], eax
jge 0x440cc4
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x24]
push ecx
push edi
push ebx
push esi
push edx
call fcn.004340c7
add esp, 0x14
test eax, eax
je 0x440c99
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x440c6a
jmp 0x440cba
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440cba
cmp esi, dword [edi + 0x68]
jb 0x440cba
cmp esi, dword [esp + 0x144]
jbe 0x440cba
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp esi, dword [esp + 0x2c]
jb 0x440d1c
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x28], eax
jmp 0x440cda
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
sub esi, ebx
cmp esi, dword [esp + 0x2c]
jae 0x440cda
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x441d16.14
cmp esi, dword [edi + 0x68]
jb case.0x441d16.14
jmp 0x440c26
mov ecx, dword [esp + 0x34]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x34], ecx
or eax, ebx
test edx, edx
jg 0x440d4a
cmp eax, 0xff
jbe 0x440d79
cmp dword [esp + 0x24], 0x4e
je case.0x441d16.14
jmp 0x440d97
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x20]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x441d16.14
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ebx, dword [esp + 0x144]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x43da3a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x441d16.14
cmp esi, ebx
jmp 0x440c2d
mov ebx, dword [esp + 0x15c]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jge case.0x441d16.14
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x20]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x441d16.14
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc dword [esp + 0x14]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x440e30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x441038
cmp eax, ebx
jge 0x440f9a
mov ecx, 1
mov dword [esp + 0x18], ecx
cmp esi, dword [edi + 0x68]
jae 0x440f7f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x440f39
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x34], eax
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x440f30
movzx eax, byte [ebx + esi]
mov ebx, dword [esp + 0x18]
and eax, 0x3f
sub ecx, 6
shl eax, cl
inc ebx
mov dword [esp + 0x18], ebx
or edx, eax
mov eax, dword [esp + 0x34]
cmp ebx, eax
jle 0x440f11
mov ebx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x18], eax
cmp edx, 0xff
jbe 0x440f4e
cmp dword [esp + 0x24], 0x4e
je 0x440f9a
jmp 0x440f68
mov ecx, edx
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x20]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, al
je 0x440f9a
mov eax, dword [esp + 0x14]
add esi, dword [esp + 0x18]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x440ec1
jmp 0x440f9a
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440f9a
cmp esi, dword [esp + 0x144]
jbe 0x440f9a
cmp eax, ecx
mov dword [edi + 0x58], ecx
jg 0x440c43
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov edi, edi
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x4410e7
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x440ffb
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x440ff1
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x440fda
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x44109c
cmp esi, dword [edi + 0x68]
jae 0x441072
movzx edx, byte [esi]
mov ecx, edx
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x20]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, al
je 0x441092
mov eax, dword [esp + 0x14]
inc eax
inc esi
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x441040
jmp 0x441092
mov eax, dword [edi + 0x78]
test eax, eax
je 0x441092
cmp esi, dword [esp + 0x144]
jbe 0x441092
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440c43
cmp esi, dword [esp + 0x2c]
jb 0x4410e7
mov ebx, dword [esp + 0x15c]
inc ebx
lea ebx, [ebx]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x4410aa
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp ebx, eax
mov dword [esp + 0x2c], esi
jge 0x4411c0
jmp 0x44110a
mov ebx, 1
cmp esi, dword [edi + 0x68]
jae 0x4411a4
cmp dword [esp + 0x30], 0
movzx edx, byte [esi]
je 0x44117b
cmp edx, 0xc0
jb 0x44117b
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486780]
mov ebx, dword [eax*4 + 0x486768]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x441178
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x44115d
lea ebx, [eax + 1]
mov eax, dword [esp + 0x20]
push eax
push edx
call fcn.00433b06
add esp, 8
test eax, eax
je 0x4411c0
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x44110a
jmp 0x4411c0
mov eax, dword [edi + 0x78]
test eax, eax
je 0x4411c0
cmp esi, dword [esp + 0x144]
jbe 0x4411c0
cmp eax, 1
mov dword [edi + 0x58], ebx
jg 0x440c43
mov ebx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc ebx
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je case.0x441d16.14
cmp dword [esp + 0x30], 0
je 0x441226
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x441226
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x44121a
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x4411fe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
cmp eax, ebx
je case.0x441d16.14
cmp esi, dword [edi + 0x68]
jb case.0x441d16.14
jmp 0x440c26
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x15c]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge case.0x441d16.14
mov edx, dword [edi + 0x68]
sub edx, dword [esp + 0x20]
cmp esi, edx
ja 0x440d29
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push esi
call fcn.00412ef3
add esp, 0xc
test eax, eax
jne 0x440d29
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x148]
add esi, dword [esp + 0x20]
inc dword [esp + 0x14]
push ebx
push eax
mov eax, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x4412be
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x15c]
inc ebx
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x441d16.14
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [esp + 0x24], eax
jne case.0x441d16.14
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc dword [esp + 0x14]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x44137c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x15c]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge case.0x441d16.14
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x24], edx
jne case.0x441d16.14
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc dword [esp + 0x14]
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x44142b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x15c]
inc eax
cmp dword [esp + 0x30], 0
push eax
mov dword [esp + 0x2c], eax
push 0
je 0x4415c0
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
jmp 0x4414ea
cmp dword [esp + 0x14], ebx
jge case.0x441d16.14
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x44155e
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x486780]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [eax*4 + 0x486768]
and edx, ecx
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x44155e
movzx edx, byte [esi]
mov ecx, dword [esp + 0x18]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x38]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x38], ecx
test eax, eax
jg 0x44153b
cmp ecx, 0x100
jae 0x44156d
mov eax, dword [edi + 0x30]
movzx ecx, byte [eax + ecx]
cmp dword [esp + 0x24], ecx
je case.0x441d16.14
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x4414ea
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x150]
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
lea esp, [esp]
cmp dword [esp + 0x14], ebx
jge case.0x441d16.14
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [esp + 0x24], eax
je case.0x441d16.14
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x4415fa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x15c]
inc eax
cmp dword [esp + 0x30], 0
push eax
mov dword [esp + 0x2c], eax
push 0
je 0x441781
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x150]
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov edi, edi
cmp dword [esp + 0x14], ebx
jge case.0x441d16.14
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x44172e
mov edx, ecx
and edx, 0x3f
movzx eax, byte [edx + 0x486780]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [eax*4 + 0x486768]
and edx, ecx
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x44172e
movzx edx, byte [esi]
mov ecx, dword [esp + 0x18]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x38]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x38], ecx
test eax, eax
jg 0x44170b
cmp dword [esp + 0x24], ecx
je case.0x441d16.14
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
inc dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x14c]
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x4416ba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
lea ebx, [ebx]
cmp dword [esp + 0x14], ebx
jge case.0x441d16.14
cmp esi, dword [edi + 0x68]
jae 0x440c1b
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x24], eax
je case.0x441d16.14
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x4417ba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x441d16.14
cmp esi, dword [esp + 0x144]
jbe case.0x441d16.14
mov dword [edi + 0x58], edx
cmp eax, edx
jmp 0x440c3d
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
mov dword [esp + 0x14], ebx
je 0x441c43
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
push 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x15c]
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
cmp ebx, dword [esp + 0x1c]
jge case.0x441d16.14
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x440c1b
cmp dword [esp + 0x20], 0xc
jne 0x441909
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4418e4
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
jne case.0x441d16.14
jmp 0x441909
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x441909
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x441909
cmp ecx, 1
je case.0x441d16.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x441d16.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x441957
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x486780]
mov ebx, dword [edx*4 + 0x486768]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x441957
jmp 0x441940
mov ecx, dword [esp + 0x34]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x34], ecx
or eax, ebx
test edx, edx
jg 0x44193c
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x441cfc.15
jmp dword [ecx*4 + 0x4421ca]
cmp eax, 0xd
ja 0x4419a7
je 0x44198f
cmp eax, 0xa
je case.0x441967.12
jbe case.0x441d16.14
cmp eax, 0xc
ja case.0x441d16.14
jmp 0x4419c4
cmp esi, dword [edi + 0x68]
jae case.0x441967.12
cmp byte [esi], 0xa
jne case.0x441967.12
inc esi
jmp case.0x441967.12
cmp eax, 0x85
je 0x4419c4
cmp eax, 0x2027
jbe case.0x441d16.14
cmp eax, 0x2029
ja case.0x441d16.14
cmp dword [edi + 0x5c], 0
jne case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x180e
ja 0x441a14
je case.0x441d16.14
cmp eax, 0xa0
ja 0x441a04
je case.0x441d16.14
cmp eax, 9
je case.0x441d16.14
cmp eax, 0x20
je case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x1680
je case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x205f
ja 0x441a47
je case.0x441d16.14
cmp eax, 0x2000
jb case.0x441967.12
cmp eax, 0x200a
jbe case.0x441d16.14
cmp eax, 0x202f
je case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x3000
je case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x180e
ja 0x441a98
je case.0x441967.12
cmp eax, 0xa0
ja 0x441a88
je case.0x441967.12
cmp eax, 9
je case.0x441967.12
cmp eax, 0x20
jne case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x1680
jne case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x205f
ja 0x441acb
je case.0x441967.12
cmp eax, 0x2000
jb case.0x441d16.14
cmp eax, 0x200a
jbe case.0x441967.12
cmp eax, 0x202f
jne case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x3000
jne case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x85
ja 0x441aff
je case.0x441d16.14
cmp eax, 0xa
jb case.0x441967.12
cmp eax, 0xd
jbe case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x2028
jb case.0x441967.12
cmp eax, 0x2029
jbe case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x85
ja 0x441b3e
je case.0x441967.12
cmp eax, 0xa
jb case.0x441d16.14
cmp eax, 0xd
ja case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x2028
jb case.0x441d16.14
cmp eax, 0x2029
ja case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x100
jae case.0x441967.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x100
jae case.0x441d16.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x100
jae case.0x441967.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x100
jae case.0x441d16.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x100
jae case.0x441967.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x441d16.14
jmp case.0x441967.12
cmp eax, 0x100
jae case.0x441d16.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je case.0x441d16.14
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov ebx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x14c]
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
inc ebx
push esi
mov dword [esp + 0x38], ebx
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x4418a3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ebx, dword [esp + 0x15c]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
jne 0x441e6e
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x441d16.14
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x440c1b
cmp dword [esp + 0x20], 0xc
jne 0x441ce8
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x441cc3
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433f3b
add esp, 0x14
test eax, eax
jne case.0x441d16.14
jmp 0x441ce8
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x441ce8
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x441ce8
cmp ecx, 1
je case.0x441d16.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x441d16.14
mov ecx, dword [esp + 0x20]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x441cfc.15
jmp dword [ecx*4 + 0x44220a]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x441d16.14
movzx edx, byte [eax + 0x44225a]
jmp dword [edx*4 + 0x44224a]
cmp esi, dword [edi + 0x68]
jae case.0x441cfc.12
cmp byte [esi], 0xa
jne case.0x441cfc.12
inc esi
jmp case.0x441cfc.12
cmp dword [edi + 0x5c], 0
jne case.0x441d16.14
jmp case.0x441cfc.12
cmp eax, 9
je case.0x441d16.14
cmp eax, 0x20
je case.0x441d16.14
cmp eax, 0xa0
je case.0x441d16.14
jmp case.0x441cfc.12
cmp eax, 9
je case.0x441cfc.12
cmp eax, 0x20
je case.0x441cfc.12
cmp eax, 0xa0
jne case.0x441d16.14
jmp case.0x441cfc.12
cmp eax, 0xa
jb case.0x441cfc.12
cmp eax, 0xd
jbe case.0x441d16.14
cmp eax, 0x85
je case.0x441d16.14
jmp case.0x441cfc.12
cmp eax, 0xa
jb case.0x441d16.14
cmp eax, 0xd
jbe case.0x441cfc.12
cmp eax, 0x85
jne case.0x441d16.14
jmp case.0x441cfc.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x441d16.14
jmp case.0x441cfc.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x441d16.14
jmp case.0x441cfc.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne case.0x441d16.14
jmp case.0x441cfc.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x441d16.14
jmp case.0x441cfc.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x441d16.14
jmp case.0x441cfc.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je case.0x441d16.14
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc dword [esp + 0x14]
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043c06a
add esp, 0x24
test eax, eax
je 0x441c81
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret