Function at 0x43b510
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 0x43faf4
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 0x43fb06
test byte [esp + 0x158], 2
mov eax, dword [esp + 0x150]
mov dword [esp + 0x38], eax
je 0x43b582
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.0x43b5a8.15
movzx edx, byte [edx + 0x441440]
jmp dword [edx*4 + 0x441320]
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
cmp byte [ebp + 3], 0x53
jne 0x43b67d
mov ecx, dword [0x4a56e8]
test ecx, ecx
je 0x43b67a
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.0x4411bc.14
jl 0x441314
add ebp, 6
movzx ecx, byte [ebp + 3]
lea eax, [ebp + 3]
cmp ecx, 0x66
je 0x43b86e
cmp ecx, 0x67
je 0x43b86e
cmp ecx, 0x64
je 0x43b708
cmp ecx, 0x65
je 0x43b708
cmp ecx, 0x68
jne 0x43b6b9
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
jmp 0x43b85c
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.0043b510
add esp, 0x24
cmp eax, 1
je 0x43f85a
test eax, eax
je 0x43b701
cmp eax, 0xfffffc1c
jne 0x441314
add ebp, ebx
jmp 0x43b85c
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 0x43b72d
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43b9ae
mov dword [esp + 0x20], 0
cmp ecx, 0x65
jne 0x43b842
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 0x43b771
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [esp + 0x18]
je 0x43b76d
add ebx, dword [edi + 0x24]
inc ecx
cmp ecx, dword [edi + 0x20]
jl 0x43b752
mov dword [esp + 0x14], ecx
cmp ecx, dword [edi + 0x20]
jge 0x43b842
mov dword [esp + 0x28], ebx
cmp ebx, dword [edi + 0x28]
jbe 0x43b7d7
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.004154b0
add esp, 8
test eax, eax
jne 0x43b7d7
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 0x43b7ca
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43b9ae
mov dword [esp + 0x20], 0
cmp ecx, dword [edi + 0x28]
ja 0x43b783
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
jge 0x43b842
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.004154b0
add esp, 8
test eax, eax
jne 0x43b842
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x43b82c
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43b9ae
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
jl 0x43b7f0
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 0x43f887
cmp byte [ebp], 0x54
je 0x43f887
add ebp, 3
jmp 0x43b582
mov edx, dword [edi + 0x90]
test edx, edx
jne 0x43b889
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
jmp 0x43b85c
movzx eax, byte [ebp + 4]
movzx ebx, byte [ebp + 5]
shl eax, 8
or eax, ebx
cmp eax, 0xffff
je 0x43b9ae
cmp eax, dword [edx + 4]
je 0x43b9ae
mov dword [esp + 0x20], 0
cmp ecx, 0x67
jne 0x43b842
mov ebx, dword [edi + 0x28]
xor ecx, ecx
cmp dword [edi + 0x20], ecx
mov dword [esp + 0x14], ecx
jle 0x43b8e6
movzx ecx, byte [ebx]
movzx edx, byte [ebx + 1]
shl ecx, 8
or ecx, edx
cmp ecx, eax
je 0x43b8e6
mov ecx, dword [esp + 0x14]
add ebx, dword [edi + 0x24]
inc ecx
cmp ecx, dword [edi + 0x20]
mov dword [esp + 0x14], ecx
jl 0x43b8c5
mov eax, dword [esp + 0x14]
cmp eax, dword [edi + 0x20]
jge 0x43b842
mov dword [esp + 0x28], ebx
cmp ebx, dword [edi + 0x28]
jbe 0x43b947
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.004154b0
add esp, 8
test eax, eax
jne 0x43b947
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 0x43b9ae
mov dword [esp + 0x20], 0
cmp eax, dword [edi + 0x28]
ja 0x43b900
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
jge 0x43b842
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.004154b0
add esp, 8
test eax, eax
jne 0x43b842
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 0x43b9ae
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
jl 0x43b960
jmp 0x43b842
mov dword [esp + 0x20], 1
mov eax, 3
jmp 0x43b84f
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 0x43b9ea
mov dword [edi + 0x38], 1
add ebp, 3
jmp 0x43b582
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 0x43ba17
add ecx, 2
mov dword [esp + 0x148], ecx
add ebp, 3
jmp 0x43b582
mov ebp, dword [edi + 0x90]
cmp ebp, ebx
je 0x43fe26
cmp dword [ebp + 4], ebx
jne 0x43fe26
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.00417860
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 0x43b582
movzx edx, byte [ebp + 1]
mov dword [esp + 0x150], edx
add ebp, 2
jmp 0x43b582
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.0043b510
add esp, 0x24
cmp eax, 1
je 0x43baf4
test eax, eax
je 0x43badf
cmp eax, 0xfffffc1c
jne 0x441314
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43baa0
cmp byte [ebp], 0x55
je case.0x4411bc.14
test byte [esp + 0x158], 1
jne 0x43fe60
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 0x43bb10
mov edx, dword [edi + 0x7c]
add ebp, 3
mov dword [esp + 0x148], edx
jmp 0x43b582
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.0043b510
add esp, 0x24
cmp eax, 1
je case.0x4411bc.14
test eax, eax
je 0x43bb83
cmp eax, 0xfffffc1c
jne 0x441314
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43bb40
test byte [esp + 0x158], 1
jne 0x43fe60
add ebp, 3
jmp 0x43b582
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
cmp dword [esp + 0x30], ebx
je 0x43bbf2
or eax, ecx
jle 0x43bbff
mov ecx, dword [edi + 0x64]
dec esi
dec eax
cmp esi, ecx
jb case.0x4411bc.14
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43bbec
lea ebx, [ebx]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43bbe0
cmp eax, ebx
jg 0x43bbc6
jmp 0x43bbff
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x64]
jb case.0x4411bc.14
cmp esi, dword [edi + 0x74]
jae 0x43bc07
mov dword [edi + 0x74], esi
add ebp, 3
jmp 0x43b582
mov ecx, dword [0x4a56e8]
cmp ecx, ebx
je 0x43bcde
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.0x4411bc.14
jl 0x441314
add ebp, 6
jmp 0x43b582
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], esi
jmp 0x43bd00
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.0043b510
add esp, 0x24
cmp eax, 1
je 0x43bd5b
test eax, eax
je 0x43bd46
cmp eax, 0xfffffc1c
jne 0x441314
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43bd00
mov al, byte [ebp]
cmp al, 0x5d
je 0x43bd70
cmp al, 0x54
jne case.0x4411bc.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 0x43bd70
cmp byte [ebp], 0x55
mov eax, dword [edi + 0x7c]
mov esi, dword [edi + 0x70]
mov dword [esp + 0x148], eax
je 0x43bda2
cmp esi, dword [esp + 0x28]
jne 0x43f985
add ebp, 3
jmp 0x43b582
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.0x43b5a8.84
jmp 0x43b582
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
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 0x43be10
add ebp, 3
jmp 0x43b582
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 0x43be30
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
jmp 0x43b582
inc ebp
jmp 0x43be90
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43be90
add ebp, 3
jmp 0x43b582
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 0x43bee1
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 0x43bef0
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x28], 0
cmp al, 0x58
je 0x4400a4
cmp al, 0x59
je 0x4400a4
cmp al, 0x5a
je 0x4400a4
cmp al, 0x5b
je 0x4400a4
cmp al, 0x5d
je 0x4400a4
cmp al, 0x5f
je 0x43bf24
cmp al, 0x62
jne 0x43bfd9
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 0x43bf50
mov dword [edi + 0x38], 1
jmp 0x43bf81
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 0x43bf81
add ecx, 2
mov dword [esp + 0x148], ecx
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x43bfd9
cmp dword [ecx + 4], eax
jne 0x43bfd9
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.00412480
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 0x43b582
cmp byte [ebp], 0x55
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x150], ecx
je 0x43bff4
cmp esi, dword [esp + 0x28]
jne 0x43fa29
add ebp, 3
jmp 0x43b582
cmp dword [edi + 0x3c], ebx
je 0x43c00a
cmp esi, dword [edi + 0x64]
je case.0x4411bc.14
test byte [esp + 0x150], 2
je case.0x43b5a8.1
mov eax, dword [edi + 0x64]
cmp esi, eax
je 0x43c082
cmp esi, dword [edi + 0x68]
je case.0x4411bc.14
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43c055
cmp esi, eax
jbe case.0x4411bc.14
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433a3b
add esp, 0x14
test eax, eax
je case.0x4411bc.14
inc ebp
jmp 0x43b582
mov ecx, dword [edi + 0x1c]
add eax, ecx
cmp esi, eax
jb case.0x4411bc.14
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne case.0x4411bc.14
cmp ecx, 1
je 0x43c082
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x64]
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
mov ecx, dword [edi + 0x84]
add ecx, dword [edi + 0x64]
cmp esi, ecx
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
mov dword [esp + 0x144], esi
inc ebp
jmp 0x43b582
test byte [esp + 0x150], 2
je 0x43c133
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43c124
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43c0f5
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
je case.0x4411bc.14
inc ebp
jmp 0x43b582
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4411bc.14
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x4411bc.14
cmp ecx, 1
je 0x43c12d
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp dword [edi + 0x40], ebx
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp dword [edi + 0x40], ebx
jne case.0x4411bc.14
cmp dword [edi + 0x4c], ebx
jne case.0x43b5a8.24
mov eax, dword [edi + 0x68]
cmp esi, eax
je 0x43c1ae
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43c175
cmp esi, eax
jae case.0x4411bc.14
mov edx, dword [esp + 0x30]
push edx
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
je case.0x4411bc.14
jmp 0x43c1a1
mov ecx, dword [edi + 0x1c]
lea ebx, [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4411bc.14
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x4411bc.14
cmp ecx, 1
je 0x43c1a1
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne case.0x4411bc.14
mov edx, dword [edi + 0x68]
sub edx, dword [ebx]
cmp esi, edx
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jb case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp dword [esp + 0x30], ebx
je 0x43c307
cmp esi, dword [edi + 0x64]
je 0x43c27f
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
mov dword [esp + 0x18], eax
cmp cl, 0x80
jne 0x43c1f8
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x43c1e8
mov dword [esp + 0x18], eax
cmp eax, dword [edi + 0x74]
jae 0x43c200
mov dword [edi + 0x74], eax
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x43c267
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43c267
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 0x43c240
cmp edx, 0x100
jae 0x43c27f
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je 0x43c27f
mov ecx, 1
jmp 0x43c281
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp esi, dword [edi + 0x68]
jb 0x43c294
mov eax, dword [edi + 0x78]
test eax, eax
jmp 0x43c336
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43c2ef
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43c2eb
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 0x43c2d0
mov ecx, dword [esp + 0x20]
cmp edx, 0x100
jae 0x43c351
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je 0x43c351
mov eax, 1
jmp 0x43c365
cmp esi, dword [edi + 0x64]
jne 0x43c310
xor ecx, ecx
jmp 0x43c32c
cmp esi, dword [edi + 0x74]
ja 0x43c31b
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 0x43c355
mov eax, dword [edi + 0x78]
cmp eax, ebx
je 0x43c351
cmp esi, dword [esp + 0x144]
jbe 0x43c351
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
xor eax, eax
jmp 0x43c365
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 0x43c383
cmp eax, ecx
jne 0x43b582
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ecx
je 0x43b582
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43c3c4
mov eax, dword [edi + 0x68]
cmp esi, eax
jae case.0x43b5a8.13
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
jne case.0x4411bc.14
jmp case.0x43b5a8.13
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x68]
sub ecx, eax
cmp esi, ecx
ja case.0x43b5a8.13
mov dl, byte [esi]
cmp dl, byte [edi + 0x2c]
jne case.0x43b5a8.13
cmp eax, 1
je case.0x4411bc.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x4411bc.14
mov eax, dword [edi + 0x68]
mov ecx, esi
inc esi
cmp ecx, eax
jae 0x4400c1
cmp dword [esp + 0x30], 0
je 0x43c415
cmp esi, eax
jae 0x43c415
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43c415
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43c405
inc ebp
jmp 0x43b582
mov eax, esi
inc esi
cmp eax, dword [edi + 0x68]
jae 0x4400f9
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c48b
cmp edx, 0xc0
jb 0x43c48b
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43c48b
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 0x43c470
cmp edx, 0x100
jae 0x43c4a0
mov eax, dword [edi + 0x34]
test byte [edx + eax], 4
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c50b
cmp edx, 0xc0
jb 0x43c50b
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43c50b
jmp 0x43c4f0
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 0x43c4f0
cmp edx, 0x100
jae case.0x4411bc.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 4
je case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c58b
cmp edx, 0xc0
jb 0x43c58b
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43c58b
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 0x43c570
cmp edx, 0x100
jae 0x43c5a0
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c60b
cmp edx, 0xc0
jb 0x43c60b
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43c60b
jmp 0x43c5f0
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 0x43c5f0
cmp edx, 0x100
jae case.0x4411bc.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
je case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c68b
cmp edx, 0xc0
jb 0x43c68b
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43c68b
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 0x43c670
cmp edx, 0x100
jae 0x43c6a0
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c70b
cmp edx, 0xc0
jb 0x43c70b
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43c70b
jmp 0x43c6f0
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 0x43c6f0
cmp edx, 0x100
jae case.0x4411bc.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43c78b
cmp eax, 0xc0
jb 0x43c78b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43c78b
jmp 0x43c774
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 0x43c770
cmp eax, 0xd
ja 0x43c7b9
je 0x43c7a8
cmp eax, 0xa
je 0x43c7e0
jbe case.0x4411bc.14
cmp eax, 0xc
ja case.0x4411bc.14
jmp 0x43c7d6
cmp esi, dword [edi + 0x68]
jae 0x43c7e0
cmp byte [esi], 0xa
jne 0x43c7e0
inc esi
inc ebp
jmp 0x43b582
cmp eax, 0x85
je 0x43c7d6
cmp eax, 0x2027
jbe case.0x4411bc.14
cmp eax, 0x2029
ja case.0x4411bc.14
cmp dword [edi + 0x5c], 0
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43c83f
cmp eax, 0xc0
jb 0x43c83f
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43c83f
jmp 0x43c828
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 0x43c824
cmp eax, 0x180e
ja 0x43c882
je case.0x4411bc.14
cmp eax, 0xa0
ja 0x43c871
je case.0x4411bc.14
cmp eax, 9
je case.0x4411bc.14
cmp eax, 0x20
je case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp eax, 0x1680
je case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp eax, 0x205f
ja 0x43c8b2
je case.0x4411bc.14
cmp eax, 0x2000
jb 0x43c8bd
cmp eax, 0x200a
jbe case.0x4411bc.14
cmp eax, 0x202f
je case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp eax, 0x3000
je case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43c91c
cmp eax, 0xc0
jb 0x43c91c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43c91c
jmp 0x43c905
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 0x43c901
cmp eax, 0x180e
ja 0x43c953
je 0x43c98a
cmp eax, 0xa0
ja 0x43c942
je 0x43c98a
cmp eax, 9
je 0x43c98a
cmp eax, 0x20
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp eax, 0x1680
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp eax, 0x205f
ja 0x43c97f
je 0x43c98a
cmp eax, 0x2000
jb case.0x4411bc.14
cmp eax, 0x200a
jbe 0x43c98a
cmp eax, 0x202f
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp eax, 0x3000
jne case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43c9eb
cmp eax, 0xc0
jb 0x43c9eb
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43c9eb
jmp 0x43c9d4
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 0x43c9d0
cmp eax, 0x85
ja 0x43ca0c
je case.0x4411bc.14
cmp eax, 0xa
jb 0x43ca1e
cmp eax, 0xd
jbe case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp eax, 0x2028
jb 0x43ca1e
cmp eax, 0x2029
jbe case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43ca7d
cmp eax, 0xc0
jb 0x43ca7d
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43ca7d
jmp 0x43ca66
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 0x43ca62
cmp eax, 0x85
ja 0x43ca9e
je 0x43cab4
cmp eax, 0xa
jb case.0x4411bc.14
cmp eax, 0xd
ja case.0x4411bc.14
inc ebp
jmp 0x43b582
cmp eax, 0x2028
jb case.0x4411bc.14
cmp eax, 0x2029
ja case.0x4411bc.14
inc ebp
jmp 0x43b582
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 0x43caec
mov ecx, dword [edi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
cmp ecx, ebx
jl 0x43caec
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x43cafb
cmp dword [edi + 0x48], ebx
je 0x43caf5
xor ebx, ebx
jmp 0x43cafb
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.0x43cb14
movzx edx, byte [edx + 0x4414bc]
jmp dword [edx*4 + 0x4414b4]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax + 0x487210]
movsx eax, byte [eax + 0x487218]
inc ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43cb88
mov dword [esp + 0x1c], accept
jmp 0x43cb88
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 0x43cb85
mov dword [esp + 0x1c], accept
add ebp, 5
test ebx, ebx
je 0x43b582
mov eax, dword [esp + 0x20]
cmp eax, 1
mov dword [esp + 0x14], 1
jl 0x43cbd6
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
push esi
push ecx
call fcn.00433d18
add esp, 0x14
test eax, eax
je 0x4401cf
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
jle 0x43cba1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x43b582
cmp dword [esp + 0x2c], 0
je 0x440100
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
jmp 0x43cc40
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x14], edx
jge case.0x4411bc.14
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
push esi
push ecx
call fcn.00433d18
add esp, 0x14
test eax, eax
je 0x4401cf
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.0043b510
add esp, 0x24
test eax, eax
je 0x43cc40
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.00433d18
add esp, 0x14
test eax, eax
je 0x4401cf
add esi, ebx
jmp 0x43b582
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.0x43ccfb
movzx edx, byte [edx + 0x4414cc]
jmp dword [edx*4 + 0x4414c4]
add ecx, 0xffffffba
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x487210]
movsx ecx, byte [ecx + 0x487218]
add ebp, edx
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x43cd7d
mov dword [esp + 0x1c], accept
jmp 0x43cd7d
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 0x43cd68
mov dword [esp + 0x1c], accept
add ebp, 5
mov edx, 1
jmp 0x43cd7d
mov edx, 1
mov dword [esp + 0x1c], edx
mov eax, edx
cmp dword [esp + 0x30], 0
mov dword [esp + 0x14], edx
je 0x43ce3c
cmp eax, edx
jl 0x43ce78
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x43cdf6
mov ecx, edx
and ecx, 0x3f
movzx ebx, byte [ecx + 0x486778]
lea ecx, [ebx + ebx*2]
add ecx, ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx*4 + 0x486760]
and ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0x28]
shl edx, cl
test ebx, ebx
jle 0x43cdf6
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 0x43cdd3
cmp edx, 0xff
jbe 0x43ce0b
cmp dword [esp + 0x24], 0x4e
je case.0x4411bc.14
jmp 0x43ce29
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.0x4411bc.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43cd94
jmp 0x43ce78
cmp eax, edx
jl 0x43ce78
cmp esi, dword [edi + 0x68]
jae 0x4400c1
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.0x4411bc.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43ce40
mov ebx, dword [esp + 0x1c]
cmp eax, ebx
je 0x43b582
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x14], eax
je 0x440350
cmp dword [esp + 0x30], 0
je 0x440298
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jae 0x440286
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x44020b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x44020b
jmp 0x4401f4
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.0x43cf5c
movzx edx, byte [edx + 0x4414dc]
jmp dword [edx*4 + 0x4414d4]
movsx ebx, byte [eax + 0x4871ca]
add eax, 0xffffffba
movzx ecx, al
movsx eax, byte [eax + 0x487218]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43cfd3
mov dword [esp + 0x1c], accept
jmp 0x43cfd3
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 0x43cfc5
mov dword [esp + 0x1c], accept
add ebp, 5
jmp 0x43cfd3
mov ebx, 1
mov dword [esp + 0x1c], ebx
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x43d07a
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43d053
cmp ecx, 0xc0
jb 0x43d053
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x28], edx
mov edx, dword [eax*4 + 0x486760]
and edx, ecx
mov ecx, dword [esp + 0x28]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x24], ecx
test eax, eax
jle 0x43d053
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 0x43d030
mov eax, dword [esp + 0x20]
push eax
push ecx
call fcn.00433757
add esp, 8
test eax, eax
je case.0x4411bc.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43cfe4
mov eax, dword [esp + 0x1c]
cmp ebx, eax
je 0x43b582
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x14], ebx
je 0x44059a
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
cmp ebx, dword [esp + 0x1c]
jge case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43d13e
cmp edx, 0xc0
jb 0x43d13e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43d13e
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 0x43d123
mov ecx, dword [esp + 0x20]
push ecx
push edx
call fcn.00433757
add esp, 8
test eax, eax
je case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x43d0d7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], ebx
je 0x43d1f3
movzx eax, byte [ebp + 1]
inc ebp
mov ecx, 1
cmp eax, 0xc0
jb 0x43d1c4
and eax, 0x3f
movzx ecx, byte [eax + 0x486778]
inc ecx
mov edx, dword [edi + 0x68]
sub edx, esi
cmp ecx, edx
jg 0x440709
cmp ecx, ebx
jle 0x43b582
mov al, byte [ebp]
mov dl, byte [esi]
dec ecx
inc esi
inc ebp
cmp al, dl
jne case.0x4411bc.14
cmp ecx, ebx
jle 0x43b582
jmp 0x43d1d9
mov eax, dword [edi + 0x68]
sub eax, esi
cmp eax, 1
jl 0x4400f9
mov cl, byte [esi]
inc esi
cmp byte [ebp + 1], cl
jne case.0x4411bc.14
add ebp, 2
jmp 0x43b582
cmp dword [esp + 0x30], ebx
je 0x43d33c
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 0x43d28a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43d281
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 0x43d266
mov ecx, dword [esp + 0x28]
inc eax
mov dword [esp + 0x20], eax
mov ebx, dword [edi + 0x68]
sub ebx, esi
cmp eax, ebx
jg 0x4401cf
cmp edx, 0x80
jae 0x43d2c0
movzx edx, byte [esi]
mov eax, dword [edi + 0x30]
mov dl, byte [edx + eax]
inc esi
inc ebp
cmp byte [ecx + eax], dl
je 0x43b582
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 0x43d323
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
lea ebx, [eax + eax*2]
add ebx, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [eax*4 + 0x486760]
and ebx, ecx
mov ecx, dword [esp + 0x28]
shl ebx, cl
mov ecx, ebx
mov dword [esp + 0x18], ecx
test eax, eax
jle 0x43d323
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 0x43d300
add ebp, dword [esp + 0x20]
cmp edx, ecx
je 0x43b582
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 0x4400f9
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.0x4411bc.14
add ebp, 2
jmp 0x43b582
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 0x43d40a
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 0x43d40a
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
add ebp, eax
jmp 0x43d402
mov ebx, 1
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43d402
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
add ebp, eax
jmp 0x43d40a
movsx ebx, byte [eax + 0x4871f1]
add eax, 0xffffffe1
movzx ecx, al
movsx eax, byte [eax + 0x487218]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43d40a
mov dword [esp + 0x1c], accept
cmp dword [esp + 0x30], 0
movzx eax, byte [ebp]
mov dword [esp + 0x24], eax
je 0x43d60b
mov edx, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebp
cmp eax, 0xc0
jb 0x43d4aa
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [edx*4 + 0x486760]
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 0x43d4a5
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 0x43d470
mov dword [esp + 0x24], eax
inc edx
mov dword [esp + 0x20], edx
add ebp, edx
cmp edx, 1
jle 0x43d60c
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x43d4fd
mov eax, dword [edi + 0x68]
sub eax, edx
cmp esi, eax
ja 0x4401cf
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push edx
push esi
call fcn.00413073
add esp, 0xc
test eax, eax
jne 0x4401cf
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
inc eax
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43d4c2
cmp ebx, dword [esp + 0x1c]
je 0x43b582
cmp dword [esp + 0x2c], 0
jne 0x440722
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
jge 0x43d574
lea esp, [esp]
mov eax, dword [edi + 0x68]
sub eax, dword [esp + 0x20]
cmp esi, eax
ja 0x43d54f
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push edx
push esi
call fcn.00413073
add esp, 0xc
test eax, eax
jne 0x43d54f
add esi, dword [esp + 0x20]
inc ebx
cmp ebx, dword [esp + 0x1c]
jl 0x43d520
jmp 0x43d574
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d574
cmp esi, dword [edi + 0x68]
jb 0x43d574
cmp esi, dword [esp + 0x144]
jbe 0x43d574
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp dword [esp + 0x28], 0
jne 0x43b582
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
lea ecx, [ecx]
cmp esi, dword [esp + 0x2c]
je case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x43d5c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
inc ebp
test byte [esp + 0x150], 1
je 0x43d70e
mov ecx, dword [edi + 0x30]
movzx eax, byte [eax + ecx]
mov dword [esp + 0x24], eax
mov eax, 1
cmp ebx, eax
jl 0x43d64e
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x24], edx
jne case.0x4411bc.14
inc eax
cmp eax, ebx
jle 0x43d62e
cmp ebx, dword [esp + 0x1c]
je 0x43b582
cmp dword [esp + 0x2c], 0
jne 0x4407e0
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
jge 0x43d6ab
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43d68b
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
cmp dword [esp + 0x24], edx
jne 0x43d6ab
inc ebx
inc esi
cmp ebx, dword [esp + 0x1c]
jl 0x43d670
jmp 0x43d6ab
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d6ab
cmp esi, dword [esp + 0x144]
jbe 0x43d6ab
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp dword [esp + 0x28], 0
jne 0x43b582
cmp esi, dword [esp + 0x2c]
jb 0x43d701
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.0043b510
add esp, 0x24
dec esi
test eax, eax
jne 0x441314
cmp esi, dword [esp + 0x2c]
jae 0x43d6c4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, 1
cmp ebx, ecx
jl 0x43d731
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x4411bc.14
inc ecx
cmp ecx, ebx
jle 0x43d717
cmp ebx, dword [esp + 0x1c]
je 0x43b582
cmp dword [esp + 0x2c], 0
jne 0x44088f
mov eax, dword [esp + 0x1c]
cmp ebx, eax
mov dword [esp + 0x2c], esi
jge 0x43d78a
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43d76a
movzx edx, byte [esi]
cmp dword [esp + 0x24], edx
jne 0x43d78a
inc ebx
inc esi
cmp ebx, eax
jl 0x43d755
jmp 0x43d78a
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d78a
cmp esi, dword [esp + 0x144]
jbe 0x43d78a
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp dword [esp + 0x28], 0
jne 0x43b582
cmp esi, dword [esp + 0x2c]
jb 0x43d7e0
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.0043b510
add esp, 0x24
dec esi
test eax, eax
jne 0x441314
cmp esi, dword [esp + 0x2c]
jae 0x43d7a3
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp esi, dword [edi + 0x68]
jae 0x4400f9
movzx eax, byte [esi]
inc ebp
inc esi
cmp dword [esp + 0x30], ebx
je 0x43d84b
cmp eax, 0xc0
jb 0x43d84b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43d84b
jmp 0x43d834
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 0x43d830
test byte [esp + 0x150], 1
je 0x43d884
cmp eax, 0x100
jae 0x43d863
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 0x43b582
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 0x43b582
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 0x43d941
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 0x43d941
mov ecx, 1
xor eax, eax
mov dword [esp + 0x28], ecx
add ebp, ecx
jmp 0x43d93c
mov eax, 1
mov dword [esp + 0x28], eax
add ebp, eax
jmp 0x43d93c
mov ebx, 1
xor eax, eax
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43d941
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 0x43d941
lea ecx, [eax - 0x2c]
movsx ebx, byte [ecx + 0x487218]
movzx eax, cl
and eax, 1
inc ebp
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x487210]
test ebx, ebx
jne 0x43d941
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 0x43dc8b
cmp dword [esp + 0x30], 0
mov ecx, dword [edi + 0x30]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x24], edx
je 0x43da22
cmp eax, 1
jl 0x43da52
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43d9f6
mov edx, ecx
and edx, 0x3f
movzx edx, byte [edx + 0x486778]
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 + 0x486760]
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 0x43d9f6
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 0x43d9cd
cmp ecx, 0x100
jae 0x43da05
mov edx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x24], ecx
je case.0x4411bc.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43d97f
jmp 0x43da52
cmp eax, 1
jl 0x43da52
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x24], ecx
je case.0x4411bc.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43da27
cmp eax, ebx
je 0x43b582
cmp dword [esp + 0x2c], 0
jne 0x440937
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43dbe7
cmp eax, ebx
mov dword [esp + 0x14], eax
jge 0x43db3a
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43db1f
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43daf6
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x486778]
lea ecx, [edx + edx*2]
mov dword [esp + 0x18], edx
mov edx, dword [edx*4 + 0x486760]
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 0x43daf5
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 0x43dad0
mov eax, dword [esp + 0x1c]
inc edx
cmp eax, 0x100
jae 0x43db04
mov ecx, dword [edi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [esp + 0x24], eax
je 0x43db3a
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43da80
jmp 0x43db3a
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43db3a
cmp esi, dword [esp + 0x144]
jbe 0x43db3a
cmp eax, edx
mov dword [edi + 0x58], edx
jg 0x4400e9
cmp dword [esp + 0x28], 0
jne 0x43b582
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43dc7e
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43dbaa
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43dba0
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.0043b510
add esp, 0x24
test eax, eax
je 0x43db83
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x43dc28
cmp esi, dword [edi + 0x68]
jae 0x43dc08
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x24], ecx
je 0x43dc28
inc eax
inc esi
cmp eax, ebx
jl 0x43dbeb
jmp 0x43dc28
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43dc28
cmp esi, dword [esp + 0x144]
jbe 0x43dc28
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp dword [esp + 0x28], 0
jne 0x43b582
cmp esi, dword [esp + 0x2c]
jb 0x43dc7e
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43dc41
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
je 0x43dd35
cmp eax, 1
jl 0x43dd5c
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43dd1a
mov edx, ecx
and edx, 0x3f
movzx edx, byte [edx + 0x486778]
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 + 0x486760]
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 0x43dd16
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 0x43dced
mov edx, dword [esp + 0x24]
cmp edx, ecx
je case.0x4411bc.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43dc9f
jmp 0x43dd5c
cmp eax, 1
jl 0x43dd5c
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx ecx, byte [esi]
inc esi
cmp edx, ecx
je case.0x4411bc.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43dd3a
cmp eax, ebx
je 0x43b582
cmp dword [esp + 0x2c], 0
jne 0x440b0d
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43dee8
cmp eax, ebx
mov dword [esp + 0x14], eax
jge 0x43de41
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43de21
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43de06
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
lea ecx, [eax + eax*2]
mov dword [esp + 0x18], eax
mov eax, dword [eax*4 + 0x486760]
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 0x43de05
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 0x43dde0
mov edx, dword [esp + 0x1c]
inc eax
cmp dword [esp + 0x24], edx
je 0x43de41
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43dd8a
jmp 0x43de41
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43de41
cmp esi, dword [esp + 0x144]
jbe 0x43de41
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp dword [esp + 0x28], 0
jne 0x43b582
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43df7a
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43deab
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43dea1
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.0043b510
add esp, 0x24
test eax, eax
je 0x43de8a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x43df24
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43df04
movzx edx, byte [esi]
cmp dword [esp + 0x24], edx
je 0x43df24
inc eax
inc esi
cmp eax, ebx
jl 0x43deef
jmp 0x43df24
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43df24
cmp esi, dword [esp + 0x144]
jbe 0x43df24
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp dword [esp + 0x28], 0
jne 0x43b582
cmp esi, dword [esp + 0x2c]
jb 0x43df7a
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43df3d
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 0x43e045
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 0x43e045
xor ebx, ebx
mov dword [esp + 0x28], 1
inc ebp
jmp 0x43e03d
mov ebx, 1
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43e03d
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
add ebp, eax
jmp 0x43e045
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 0x43e045
movsx ebx, byte [eax + 0x4871d7]
add eax, 0xffffffc7
movzx ecx, al
movsx eax, byte [eax + 0x487218]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43e045
mov dword [esp + 0x1c], accept
movzx eax, byte [ebp]
mov edx, 1
add ebp, edx
mov dword [esp + 0x20], eax
test ebx, ebx
jle 0x43eb38
add eax, 0xfffffffa
cmp dword [esp + 0x30], 0
je 0x43e7d6
cmp eax, 0xf
ja case.0x4411a2.15
jmp dword [eax*4 + 0x4414e4]
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb38
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x440cc6
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e0b9
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
jne case.0x4411bc.14
lea edx, [eax + 1]
jmp 0x43e0dd
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43e0dd
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e0dd
cmp ecx, edx
je case.0x4411bc.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x4411bc.14
add esi, edx
cmp esi, dword [edi + 0x68]
jae 0x43e0f3
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43e0f3
add esi, edx
cmp esi, dword [edi + 0x68]
jb 0x43e0e4
mov eax, dword [esp + 0x14]
add eax, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e086
jmp 0x43eb38
cmp ebx, edx
mov eax, edx
jl 0x43eb38
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x440cc6
add esi, edx
cmp esi, ecx
jae 0x43e136
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43e131
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43e121
mov edx, 1
add eax, edx
cmp eax, ebx
jle 0x43e113
jmp 0x43eb38
mov eax, dword [edi + 0x68]
sub eax, ebx
cmp esi, eax
ja case.0x4411bc.14
add esi, ebx
jmp 0x43eb38
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb38
jmp 0x43e175
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e1d7
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486760]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43e1d7
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 0x43e1b4
cmp eax, 0xd
ja 0x43e201
je 0x43e1f4
cmp eax, 0xa
je 0x43e228
jbe case.0x4411bc.14
cmp eax, 0xc
ja case.0x4411bc.14
jmp 0x43e21e
cmp esi, dword [edi + 0x68]
jae 0x43e228
cmp byte [esi], 0xa
jne 0x43e228
inc esi
jmp 0x43e228
cmp eax, 0x85
je 0x43e21e
cmp eax, 0x2027
jbe case.0x4411bc.14
cmp eax, 0x2029
ja case.0x4411bc.14
cmp dword [edi + 0x5c], 0
jne case.0x4411bc.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e170
jmp 0x43eb38
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb38
jmp 0x43e255
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e2b7
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486760]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43e2b7
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 0x43e294
cmp eax, 0x180e
ja 0x43e2f2
je case.0x4411bc.14
cmp eax, 0xa0
ja 0x43e2e5
je case.0x4411bc.14
cmp eax, 9
je case.0x4411bc.14
cmp eax, 0x20
je case.0x4411bc.14
jmp 0x43e329
cmp eax, 0x1680
je case.0x4411bc.14
jmp 0x43e329
cmp eax, 0x205f
ja 0x43e31e
je case.0x4411bc.14
cmp eax, 0x2000
jb 0x43e329
cmp eax, 0x200a
jbe case.0x4411bc.14
cmp eax, 0x202f
je case.0x4411bc.14
jmp 0x43e329
cmp eax, 0x3000
je case.0x4411bc.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e250
jmp 0x43eb38
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb38
jmp 0x43e355
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e3b7
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486760]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43e3b7
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 0x43e394
cmp eax, 0x180e
ja 0x43e3e6
je 0x43e419
cmp eax, 0xa0
ja 0x43e3d9
je 0x43e419
cmp eax, 9
je 0x43e419
cmp eax, 0x20
jne case.0x4411bc.14
jmp 0x43e419
cmp eax, 0x1680
jne case.0x4411bc.14
jmp 0x43e419
cmp eax, 0x205f
ja 0x43e40e
je 0x43e419
cmp eax, 0x2000
jb case.0x4411bc.14
cmp eax, 0x200a
jbe 0x43e419
cmp eax, 0x202f
jne case.0x4411bc.14
jmp 0x43e419
cmp eax, 0x3000
jne case.0x4411bc.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e350
jmp 0x43eb38
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb38
jmp 0x43e445
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e4a7
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486760]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43e4a7
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 0x43e484
cmp eax, 0x85
ja 0x43e4c4
je case.0x4411bc.14
cmp eax, 0xa
jb 0x43e4d6
cmp eax, 0xd
jbe case.0x4411bc.14
jmp 0x43e4d6
cmp eax, 0x2028
jb 0x43e4d6
cmp eax, 0x2029
jbe case.0x4411bc.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e440
jmp 0x43eb38
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb38
jmp 0x43e505
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e567
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x486760]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43e567
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 0x43e544
cmp eax, 0x85
ja 0x43e584
je 0x43e59a
cmp eax, 0xa
jb case.0x4411bc.14
cmp eax, 0xd
ja case.0x4411bc.14
jmp 0x43e59a
cmp eax, 0x2028
jb case.0x4411bc.14
cmp eax, 0x2029
ja case.0x4411bc.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e500
jmp 0x43eb38
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb38
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43e628
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [eax*4 + 0x486760]
and edx, ecx
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x24], ecx
test eax, eax
jle 0x43e623
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 0x43e600
mov edx, 1
cmp ecx, 0x80
jae 0x43e63d
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 4
jne case.0x4411bc.14
mov eax, dword [esp + 0x14]
add eax, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e5bc
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
jmp 0x43e665
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
mov al, byte [esi]
cmp al, 0x80
jae case.0x4411bc.14
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
and dl, 4
inc esi
test dl, dl
je case.0x4411bc.14
inc ecx
cmp ecx, ebx
jle 0x43e660
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x440cc6
mov al, byte [esi]
cmp al, 0x80
jae 0x43e6c7
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 1
jne case.0x4411bc.14
mov edx, 1
mov eax, dword [edi + 0x68]
add esi, edx
cmp esi, eax
jae 0x43e6df
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x43e6c2
mov edx, 1
add ecx, edx
cmp ecx, ebx
jle 0x43e6a4
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
jmp 0x43e705
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
mov al, byte [esi]
cmp al, 0x80
jae case.0x4411bc.14
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
and al, 1
inc esi
test al, al
je case.0x4411bc.14
inc ecx
cmp ecx, ebx
jle 0x43e700
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
mov eax, dword [edi + 0x68]
cmp esi, eax
jae case.0x4411bc.14
mov al, byte [esi]
cmp al, 0x80
jae 0x43e766
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
jne case.0x4411bc.14
mov edx, 1
mov eax, dword [edi + 0x68]
add esi, edx
cmp esi, eax
jae 0x43e77e
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x43e761
mov edx, 1
add ecx, edx
cmp ecx, ebx
jle 0x43e743
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
jmp 0x43e7a5
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
mov al, byte [esi]
cmp al, 0x80
jae case.0x4411bc.14
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
and al, 0x10
inc esi
test al, al
je case.0x4411bc.14
inc ecx
cmp ecx, ebx
jle 0x43e7a0
jmp 0x43eb38
cmp eax, 0xf
ja case.0x4411a2.15
jmp dword [eax*4 + 0x441524]
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb38
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x440cc6
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e822
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
jne case.0x4411bc.14
lea edx, [eax + 1]
jmp 0x43e846
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43e846
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e846
cmp ecx, edx
je case.0x4411bc.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x4411bc.14
mov eax, dword [esp + 0x14]
add eax, edx
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e7f2
jmp 0x43eb38
mov eax, dword [edi + 0x68]
sub eax, ebx
cmp esi, eax
ja 0x440cc6
add esi, ebx
jmp 0x43eb38
mov ecx, dword [edi + 0x68]
sub ecx, ebx
cmp esi, ecx
ja 0x440cc6
add esi, ebx
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x4400c1
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x4411bc.14
movzx eax, byte [eax + 0x441574]
jmp dword [eax*4 + 0x441564]
cmp esi, edx
jae case.0x43e8af.10
cmp byte [esi], 0xa
jne case.0x43e8af.10
inc esi
jmp case.0x43e8af.10
cmp dword [edi + 0x5c], 0
jne case.0x4411bc.14
inc ecx
cmp ecx, ebx
jle 0x43e890
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x4400c1
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x4411bc.14
cmp eax, 0x20
je case.0x4411bc.14
cmp eax, 0xa0
je case.0x4411bc.14
inc ecx
cmp ecx, ebx
jle 0x43e8e3
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x4400c1
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43e944
cmp eax, 0x20
je 0x43e944
cmp eax, 0xa0
jne case.0x4411bc.14
inc ecx
cmp ecx, ebx
jle 0x43e923
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
mov edx, dword [edi + 0x68]
jmp 0x43e960
cmp esi, edx
jae 0x4400c1
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43e985
cmp eax, 0xd
jle case.0x4411bc.14
cmp eax, 0x85
je case.0x4411bc.14
inc ecx
cmp ecx, ebx
jle 0x43e960
jmp 0x43eb38
cmp ebx, edx
mov ecx, edx
jl 0x43eb38
mov edx, dword [edi + 0x68]
lea esp, [esp]
cmp esi, edx
jae 0x4400c1
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x4411bc.14
cmp eax, 0xd
jle 0x43e9c5
cmp eax, 0x85
jne case.0x4411bc.14
inc ecx
cmp ecx, ebx
jle 0x43e9a0
jmp 0x43eb38
cmp ebx, edx
mov eax, edx
jl 0x43eb38
jmp 0x43e9e5
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 4
inc esi
test cl, cl
jne case.0x4411bc.14
inc eax
cmp eax, ebx
jle 0x43e9e0
jmp 0x43eb38
cmp ebx, edx
mov eax, edx
jl 0x43eb38
jmp 0x43ea25
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 4
inc esi
test dl, dl
je case.0x4411bc.14
inc eax
cmp eax, ebx
jle 0x43ea20
jmp 0x43eb38
cmp ebx, edx
mov eax, edx
jl 0x43eb38
jmp 0x43ea65
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 1
inc esi
test cl, cl
jne case.0x4411bc.14
inc eax
cmp eax, ebx
jle 0x43ea60
jmp 0x43eb38
cmp ebx, edx
mov eax, edx
jl 0x43eb38
jmp 0x43eaa5
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 1
inc esi
test dl, dl
je case.0x4411bc.14
inc eax
cmp eax, ebx
jle 0x43eaa0
jmp 0x43eb38
cmp ebx, edx
mov eax, edx
jl 0x43eb38
jmp 0x43ead7
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 0x10
inc esi
test cl, cl
jne case.0x4411bc.14
inc eax
cmp eax, ebx
jle 0x43ead2
jmp 0x43eb38
cmp ebx, edx
mov eax, edx
jl 0x43eb38
jmp 0x43eb15
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cc6
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 0x10
inc esi
test dl, dl
je case.0x4411bc.14
inc eax
cmp eax, ebx
jle 0x43eb10
cmp ebx, dword [esp + 0x1c]
je 0x43b582
cmp dword [esp + 0x2c], 0
jne 0x440cf8
mov eax, dword [esp + 0x20]
add eax, 0xfffffffa
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43f47c
cmp eax, 0xf
ja case.0x4411a2.15
jmp dword [eax*4 + 0x4415f0]
mov edx, dword [esp + 0x1c]
cmp edx, 0x7fffffff
jge 0x43ec08
cmp ebx, edx
jge 0x43f3d5
jmp 0x43eb90
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ecdd
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43ebc4
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
jne 0x43f3d5
mov edx, dword [esp + 0x1c]
jmp 0x43ebe9
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43ebe9
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43ebe9
cmp ecx, 1
je 0x43f3d5
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43f3d5
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43ebfe
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ebfe
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43ebf0
inc ebx
cmp ebx, edx
jl 0x43eb90
jmp 0x43f3d5
cmp ebx, edx
jge 0x43f3d5
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ecdd
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43ec44
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
jne 0x43f3d5
mov edx, dword [esp + 0x1c]
jmp 0x43ec69
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43ec69
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43ec69
cmp ecx, 1
je 0x43f3d5
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43f3d5
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43ec7e
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ec7e
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43ec70
inc ebx
cmp ebx, edx
jl 0x43ec10
jmp 0x43f3d5
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x7fffffff
jge 0x43ecc2
cmp ebx, ecx
jge 0x43f3d5
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ecdd
inc esi
cmp esi, eax
jae 0x43ecb8
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43ecb8
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43eca8
inc ebx
cmp ebx, ecx
jl 0x43ec9f
jmp 0x43f3d5
mov esi, dword [edi + 0x68]
jmp 0x43f3d5
mov ecx, dword [edi + 0x68]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, ebx
sub edx, esi
cmp eax, edx
jbe 0x43ed0a
mov esi, ecx
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f3d5
cmp esi, dword [esp + 0x144]
jbe 0x43f3d5
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
jmp 0x43f3d5
add esi, eax
jmp 0x43f3d5
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3d5
nop
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43edee
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43ed8b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
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 0x43ed8a
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 0x43ed6b
inc edx
cmp eax, 0xd
jne 0x43eda2
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43f3d5
cmp byte [esi], 0xa
jne 0x43edd6
inc esi
jmp 0x43edd6
cmp eax, 0xa
je 0x43edd4
cmp dword [edi + 0x5c], 0
jne 0x43f3d5
cmp eax, 0xb
je 0x43edd4
cmp eax, 0xc
je 0x43edd4
cmp eax, 0x85
je 0x43edd4
cmp eax, 0x2028
je 0x43edd4
cmp eax, 0x2029
jne 0x43f3d5
add esi, edx
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43ed20
jmp 0x43f3d5
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f3d5
cmp esi, dword [esp + 0x144]
jbe 0x43f3d5
cmp eax, edx
mov dword [edi + 0x58], edx
jg 0x4400e9
jmp 0x43f3d5
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3d5
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43edee
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43ee8b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
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 0x43ee8a
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 0x43ee6b
inc edx
cmp eax, 0x180e
ja 0x43eee7
je 0x43eeab
cmp eax, 0xa0
ja 0x43eedc
je 0x43eeab
cmp eax, 9
je 0x43eeab
cmp eax, 0x20
jne 0x43ef10
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0x12
sete al
cmp ecx, eax
je 0x43f3d5
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43ee24
jmp 0x43f3d5
cmp eax, 0x1680
je 0x43eeab
xor ecx, ecx
jmp 0x43eeb0
cmp eax, 0x205f
ja 0x43ef09
je 0x43eeab
cmp eax, 0x2000
jb 0x43ef10
cmp eax, 0x200a
jbe 0x43eeab
cmp eax, 0x202f
je 0x43eeab
xor ecx, ecx
jmp 0x43eeb0
cmp eax, 0x3000
je 0x43eeab
xor ecx, ecx
jmp 0x43eeb0
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3d5
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43edee
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43ef8d
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
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 0x43ef8c
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 0x43ef6d
inc edx
cmp eax, 0x85
ja 0x43efce
je 0x43efdc
cmp eax, 0xa
jb 0x43efa0
cmp eax, 0xd
jbe 0x43efdc
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x20], 0x14
sete al
cmp ecx, eax
je 0x43f3d5
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43ef22
jmp 0x43f3d5
cmp eax, 0x2028
jb 0x43efa0
cmp eax, 0x2029
ja 0x43efa0
mov ecx, 1
jmp 0x43efa2
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3d5
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecdd
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f05c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43f05b
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 0x43f040
inc eax
cmp edx, 0x100
jae 0x43f071
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 4
jne 0x43f3d5
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43eff1
jmp 0x43f3d5
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3d5
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecdd
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f0fc
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43f0fb
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 0x43f0e0
inc eax
cmp edx, 0x100
jae 0x43f3d5
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 4
je 0x43f3d5
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f099
jmp 0x43f3d5
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3d5
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecdd
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f19d
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43f19c
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 0x43f181
inc eax
cmp edx, 0x100
jae 0x43f1b2
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 1
jne 0x43f3d5
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f13d
jmp 0x43f3d5
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3d5
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecdd
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f23e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43f23d
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 0x43f222
inc eax
cmp edx, 0x100
jae 0x43f3d5
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 1
je 0x43f3d5
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f1da
jmp 0x43f3d5
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3d5
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecdd
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f2ec
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43f2eb
jmp 0x43f2d0
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 0x43f2d0
inc eax
cmp edx, 0x100
jae 0x43f301
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 0x10
jne 0x43f3d5
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f27f
jmp 0x43f3d5
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3d5
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43f3b5
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f38d
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x43f38c
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 0x43f371
inc eax
cmp edx, 0x100
jae 0x43f3d5
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 0x10
je 0x43f3d5
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f329
jmp 0x43f3d5
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f3d5
cmp esi, dword [esp + 0x144]
jbe 0x43f3d5
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp dword [esp + 0x28], 0
jne 0x43b582
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je 0x43f84d
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43f43f
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43f433
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.0043b510
add esp, 0x24
test eax, eax
je 0x43f41e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, 0xf
ja case.0x4411a2.15
jmp dword [eax*4 + 0x441630]
cmp ebx, dword [esp + 0x1c]
jge 0x43f7e7
jmp 0x43f4a0
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43f512
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43f4cd
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
jne 0x43f7e7
jmp 0x43f4f2
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43f4f2
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43f4f2
cmp ecx, 1
je 0x43f7e7
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43f7e7
inc ebx
inc esi
cmp ebx, dword [esp + 0x1c]
jl 0x43f4a0
jmp 0x43f7e7
mov ecx, dword [edi + 0x68]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, ebx
sub edx, esi
cmp eax, edx
jbe 0x43f53f
mov esi, ecx
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f7e7
cmp esi, dword [esp + 0x144]
jbe 0x43f7e7
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
jmp 0x43f7e7
add esi, eax
jmp 0x43f7e7
mov edx, dword [esp + 0x1c]
cmp ebx, edx
jge 0x43f7e7
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43f512
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43f571
inc esi
cmp esi, ecx
jae 0x43f7e7
cmp byte [esi], 0xa
jne 0x43f596
jmp 0x43f595
cmp eax, 0xa
je 0x43f595
cmp dword [edi + 0x5c], 0
jne 0x43f7e7
cmp eax, 0xb
je 0x43f595
cmp eax, 0xc
je 0x43f595
cmp eax, 0x85
jne 0x43f7e7
inc esi
inc ebx
cmp ebx, edx
jl 0x43f555
jmp 0x43f7e7
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43f7e7
mov edx, dword [edi + 0x68]
nop
cmp esi, edx
jae 0x43f512
movzx eax, byte [esi]
cmp eax, 9
je 0x43f7e7
cmp eax, 0x20
je 0x43f7e7
cmp eax, 0xa0
je 0x43f7e7
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f5b0
jmp 0x43f7e7
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43f7e7
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x43f512
movzx eax, byte [esi]
cmp eax, 9
je 0x43f612
cmp eax, 0x20
je 0x43f612
cmp eax, 0xa0
jne 0x43f7e7
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f5f2
jmp 0x43f7e7
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43f7e7
mov edx, dword [edi + 0x68]
lea esp, [esp]
cmp esi, edx
jae 0x43f512
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43f7e7
cmp eax, 0xb
je 0x43f7e7
cmp eax, 0xc
je 0x43f7e7
cmp eax, 0xd
je 0x43f7e7
cmp eax, 0x85
je 0x43f7e7
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f630
jmp 0x43f7e7
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43f7e7
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x43f512
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43f6ae
cmp eax, 0xb
je 0x43f6ae
cmp eax, 0xc
je 0x43f6ae
cmp eax, 0xd
je 0x43f6ae
cmp eax, 0x85
jne 0x43f7e7
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f684
jmp 0x43f7e7
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7e7
cmp esi, dword [edi + 0x68]
jae 0x43f512
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 4
jne 0x43f7e7
inc ebx
inc esi
cmp ebx, eax
jl 0x43f6c5
jmp 0x43f7e7
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7e7
cmp esi, dword [edi + 0x68]
jae 0x43f512
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 4
je 0x43f7e7
inc ebx
inc esi
cmp ebx, eax
jl 0x43f6f5
jmp 0x43f7e7
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7e7
cmp esi, dword [edi + 0x68]
jae 0x43f512
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 1
jne 0x43f7e7
inc ebx
inc esi
cmp ebx, eax
jl 0x43f725
jmp 0x43f7e7
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7e7
cmp esi, dword [edi + 0x68]
jae 0x43f512
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 1
je 0x43f7e7
inc ebx
inc esi
cmp ebx, eax
jl 0x43f755
jmp 0x43f7e7
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7e7
cmp esi, dword [edi + 0x68]
jae 0x43f512
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
jne 0x43f7e7
inc ebx
inc esi
cmp ebx, eax
jl 0x43f785
jmp 0x43f7e7
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7e7
cmp esi, dword [edi + 0x68]
jae 0x43f7c7
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x43f7e7
inc ebx
inc esi
cmp ebx, eax
jl 0x43f7ae
jmp 0x43f7e7
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f7e7
cmp esi, dword [esp + 0x144]
jbe 0x43f7e7
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp dword [esp + 0x28], 0
jne 0x43b582
cmp esi, dword [esp + 0x2c]
jb 0x43f84d
mov ebx, dword [esp + 0x15c]
inc ebx
jmp 0x43f810
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.0043b510
add esp, 0x24
dec esi
test eax, eax
jne 0x441314
cmp esi, dword [esp + 0x2c]
jae 0x43f810
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 0x43f887
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43f872
add ebp, 3
cmp dword [esp + 0x24], 0x63
je 0x43fde5
mov ebx, dword [esp + 0x154]
jmp 0x43fad7
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 0x43fc9d
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 0x43f965
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 + 0x4866b8]
push ecx
add eax, ebp
push eax
push esi
call fcn.0043b510
add esp, 0x24
test eax, eax
je 0x43f942
cmp eax, 0xfffffc1c
jne 0x441314
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 0x43f8f1
cmp dword [esp + 0x158], 0
jne 0x43fd98
movzx edx, byte [ebp]
movzx eax, byte [edx + 0x4866b8]
add ebp, eax
jmp 0x43fae2
cmp byte [ebp + 3], 0x19
lea ecx, [ebp + 3]
mov dword [esp + 0x18], ecx
jne 0x43f9a9
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 0x43f9ec
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov ebp, dword [esp + 0x20]
jmp 0x43fad7
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov ebp, dword [esp + 0x18]
jmp 0x43fad7
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 0x43fa96
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
cmp dword [esp + 0x158], eax
jne 0x440063
mov ebp, dword [esp + 0x20]
jmp 0x43fae2
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
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 0x43b548
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 + 0x4866b8]
push ecx
add eax, ebp
push eax
push esi
call fcn.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
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 + 0x4866b8]
push eax
add edx, ebp
push edx
push esi
call fcn.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
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 + 0x4866b8]
push edx
add ecx, ebp
push ecx
push esi
call fcn.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
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 + 0x4866b8]
push ecx
add eax, ebp
push eax
push esi
call fcn.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
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 + 0x4866b8]
push ecx
add eax, ebp
push eax
push esi
call fcn.0043b510
add esp, 0x24
test eax, eax
je 0x43fd46
cmp eax, 0xfffffc1c
jne 0x441314
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 0x43fcf2
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 + 0x4866b8]
push eax
add edx, ebp
push edx
push esi
call fcn.0043b510
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.0043b510
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x144]
cmp esi, eax
jne 0x43fe50
cmp dword [edi + 0x50], ebx
jne case.0x4411bc.14
cmp dword [edi + 0x54], ebx
je 0x43fe50
mov edx, dword [edi + 0x84]
add edx, dword [edi + 0x64]
cmp eax, edx
je case.0x4411bc.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 0x43fe90
mov dword [esp + 0x40], 0
jmp 0x43fea1
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 0x43fed5
lea eax, [esp + 0xc0]
mov dword [esp + 0x4c], eax
jmp 0x43feff
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x492670]
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x43fefb
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.00412480
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 + 0x4866b8]
push edi
push ecx
push esi
add eax, ebx
push eax
push esi
call fcn.0043b510
add esp, 0x24
mov dword [esp + 0x18], eax
cmp eax, 1
je 0x440004
test eax, eax
je 0x43ff94
cmp eax, 0xfffffc1c
jne 0x440037
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.00412480
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 0x43ff42
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x90], eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0xc0]
cmp eax, ecx
je 0x43fff7
push eax
call dword [0x492674]
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 0x440027
push eax
call dword [0x492674]
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 0x441314
push ecx
call dword [0x492674]
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.0043b510
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.0x4411bc.14
cmp esi, dword [esp + 0x144]
jbe case.0x4411bc.14
mov dword [edi + 0x58], 1
cmp eax, 1
jle case.0x4411bc.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 0x4400c6
cmp eax, ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], eax
jge 0x44016a
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x24]
push ecx
push edi
push ebx
push esi
push edx
call fcn.00433d18
add esp, 0x14
test eax, eax
je 0x44013f
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x440110
jmp 0x440160
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440160
cmp esi, dword [edi + 0x68]
jb 0x440160
cmp esi, dword [esp + 0x144]
jbe 0x440160
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp esi, dword [esp + 0x2c]
jb 0x4401c2
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x28], eax
jmp 0x440180
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
sub esi, ebx
cmp esi, dword [esp + 0x2c]
jae 0x440180
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.0x4411bc.14
cmp esi, dword [edi + 0x68]
jb case.0x4411bc.14
jmp 0x4400cc
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 0x4401f0
cmp eax, 0xff
jbe 0x44021f
cmp dword [esp + 0x24], 0x4e
je case.0x4411bc.14
jmp 0x44023d
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.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x43cee0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x4411bc.14
cmp esi, ebx
jmp 0x4400d3
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jge case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jae 0x4400c1
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.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x4402d6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x4404de
cmp eax, ebx
jge 0x440440
mov ecx, 1
mov dword [esp + 0x18], ecx
cmp esi, dword [edi + 0x68]
jae 0x440425
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x4403df
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x4403d6
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 0x4403b7
mov ebx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x18], eax
cmp edx, 0xff
jbe 0x4403f4
cmp dword [esp + 0x24], 0x4e
je 0x440440
jmp 0x44040e
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 0x440440
mov eax, dword [esp + 0x14]
add esi, dword [esp + 0x18]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x440367
jmp 0x440440
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440440
cmp esi, dword [esp + 0x144]
jbe 0x440440
cmp eax, ecx
mov dword [edi + 0x58], ecx
jg 0x4400e9
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov edi, edi
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x44058d
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x4404a1
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x440497
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.0043b510
add esp, 0x24
test eax, eax
je 0x440480
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x440542
cmp esi, dword [edi + 0x68]
jae 0x440518
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 0x440538
mov eax, dword [esp + 0x14]
inc eax
inc esi
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x4404e6
jmp 0x440538
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440538
cmp esi, dword [esp + 0x144]
jbe 0x440538
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x4400e9
cmp esi, dword [esp + 0x2c]
jb 0x44058d
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x440550
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp ebx, eax
mov dword [esp + 0x2c], esi
jge 0x440666
jmp 0x4405b0
mov ebx, 1
cmp esi, dword [edi + 0x68]
jae 0x44064a
cmp dword [esp + 0x30], 0
movzx edx, byte [esi]
je 0x440621
cmp edx, 0xc0
jb 0x440621
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x486778]
mov ebx, dword [eax*4 + 0x486760]
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 0x44061e
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 0x440603
lea ebx, [eax + 1]
mov eax, dword [esp + 0x20]
push eax
push edx
call fcn.00433757
add esp, 8
test eax, eax
je 0x440666
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x4405b0
jmp 0x440666
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440666
cmp esi, dword [esp + 0x144]
jbe 0x440666
cmp eax, 1
mov dword [edi + 0x58], ebx
jg 0x4400e9
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je case.0x4411bc.14
cmp dword [esp + 0x30], 0
je 0x4406cc
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4406cc
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x4406c0
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.0043b510
add esp, 0x24
test eax, eax
je 0x4406a4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
cmp eax, ebx
je case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jb case.0x4411bc.14
jmp 0x4400cc
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge case.0x4411bc.14
mov edx, dword [edi + 0x68]
sub edx, dword [esp + 0x20]
cmp esi, edx
ja 0x4401cf
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push esi
call fcn.00413073
add esp, 0xc
test eax, eax
jne 0x4401cf
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.0043b510
add esp, 0x24
test eax, eax
je 0x440764
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [esp + 0x24], eax
jne case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x440822
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x24], edx
jne case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x4408d1
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 0x440a66
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
jmp 0x440990
cmp dword [esp + 0x14], ebx
jge case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x440a04
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x486778]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [eax*4 + 0x486760]
and edx, ecx
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x440a04
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 0x4409e1
sub ecx, 0x100
jae 0x440a13
mov eax, dword [edi + 0x30]
movzx ecx, byte [eax + ecx]
cmp dword [esp + 0x24], ecx
je case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x440990
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
lea esp, [esp]
cmp dword [esp + 0x14], ebx
jge case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [esp + 0x24], eax
je case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x440aa0
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 0x440c27
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov edi, edi
cmp dword [esp + 0x14], ebx
jge case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x440bd4
mov edx, ecx
and edx, 0x3f
movzx eax, byte [edx + 0x486778]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [eax*4 + 0x486760]
and edx, ecx
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x440bd4
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 0x440bb1
cmp dword [esp + 0x24], ecx
je case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x440b60
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
lea ebx, [ebx]
cmp dword [esp + 0x14], ebx
jge case.0x4411bc.14
cmp esi, dword [edi + 0x68]
jae 0x4400c1
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x24], eax
je case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x440c60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x4411bc.14
cmp esi, dword [esp + 0x144]
jbe case.0x4411bc.14
mov dword [edi + 0x58], edx
cmp eax, edx
jmp 0x4400e3
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 0x4410e9
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
cmp ebx, dword [esp + 0x1c]
jge case.0x4411bc.14
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x4400c1
cmp dword [esp + 0x20], 0xc
jne 0x440daf
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x440d8a
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
jne case.0x4411bc.14
jmp 0x440daf
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x440daf
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x440daf
cmp ecx, 1
je case.0x4411bc.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x4411bc.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x440dfd
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x486778]
mov ebx, dword [edx*4 + 0x486760]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x440dfd
jmp 0x440de6
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 0x440de2
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x4411a2.15
jmp dword [ecx*4 + 0x441670]
cmp eax, 0xd
ja 0x440e4d
je 0x440e35
cmp eax, 0xa
je case.0x440e0d.12
jbe case.0x4411bc.14
cmp eax, 0xc
ja case.0x4411bc.14
jmp 0x440e6a
cmp esi, dword [edi + 0x68]
jae case.0x440e0d.12
cmp byte [esi], 0xa
jne case.0x440e0d.12
inc esi
jmp case.0x440e0d.12
cmp eax, 0x85
je 0x440e6a
cmp eax, 0x2027
jbe case.0x4411bc.14
cmp eax, 0x2029
ja case.0x4411bc.14
cmp dword [edi + 0x5c], 0
jne case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x180e
ja 0x440eba
je case.0x4411bc.14
cmp eax, 0xa0
ja 0x440eaa
je case.0x4411bc.14
cmp eax, 9
je case.0x4411bc.14
cmp eax, 0x20
je case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x1680
je case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x205f
ja 0x440eed
je case.0x4411bc.14
cmp eax, 0x2000
jb case.0x440e0d.12
cmp eax, 0x200a
jbe case.0x4411bc.14
cmp eax, 0x202f
je case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x3000
je case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x180e
ja 0x440f3e
je case.0x440e0d.12
cmp eax, 0xa0
ja 0x440f2e
je case.0x440e0d.12
cmp eax, 9
je case.0x440e0d.12
cmp eax, 0x20
jne case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x1680
jne case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x205f
ja 0x440f71
je case.0x440e0d.12
cmp eax, 0x2000
jb case.0x4411bc.14
cmp eax, 0x200a
jbe case.0x440e0d.12
cmp eax, 0x202f
jne case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x3000
jne case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x85
ja 0x440fa5
je case.0x4411bc.14
cmp eax, 0xa
jb case.0x440e0d.12
cmp eax, 0xd
jbe case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x2028
jb case.0x440e0d.12
cmp eax, 0x2029
jbe case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x85
ja 0x440fe4
je case.0x440e0d.12
cmp eax, 0xa
jb case.0x4411bc.14
cmp eax, 0xd
ja case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x2028
jb case.0x4411bc.14
cmp eax, 0x2029
ja case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x100
jae case.0x440e0d.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x100
jae case.0x4411bc.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x100
jae case.0x440e0d.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x100
jae case.0x4411bc.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x100
jae case.0x440e0d.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x4411bc.14
jmp case.0x440e0d.12
cmp eax, 0x100
jae case.0x4411bc.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x440d49
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.0043b510
add esp, 0x24
test eax, eax
jne 0x441314
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x4411bc.14
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x4400c1
cmp dword [esp + 0x20], 0xc
jne 0x44118e
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x441169
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433b8c
add esp, 0x14
test eax, eax
jne case.0x4411bc.14
jmp 0x44118e
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x44118e
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x44118e
cmp ecx, 1
je case.0x4411bc.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x4411bc.14
mov ecx, dword [esp + 0x20]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x4411a2.15
jmp dword [ecx*4 + 0x4416b0]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4411bc.14
movzx edx, byte [eax + 0x441700]
jmp dword [edx*4 + 0x4416f0]
cmp esi, dword [edi + 0x68]
jae case.0x4411a2.12
cmp byte [esi], 0xa
jne case.0x4411a2.12
inc esi
jmp case.0x4411a2.12
cmp dword [edi + 0x5c], 0
jne case.0x4411bc.14
jmp case.0x4411a2.12
cmp eax, 9
je case.0x4411bc.14
cmp eax, 0x20
je case.0x4411bc.14
cmp eax, 0xa0
je case.0x4411bc.14
jmp case.0x4411a2.12
cmp eax, 9
je case.0x4411a2.12
cmp eax, 0x20
je case.0x4411a2.12
cmp eax, 0xa0
jne case.0x4411bc.14
jmp case.0x4411a2.12
cmp eax, 0xa
jb case.0x4411a2.12
cmp eax, 0xd
jbe case.0x4411bc.14
cmp eax, 0x85
je case.0x4411bc.14
jmp case.0x4411a2.12
cmp eax, 0xa
jb case.0x4411bc.14
cmp eax, 0xd
jbe case.0x4411a2.12
cmp eax, 0x85
jne case.0x4411bc.14
jmp case.0x4411a2.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4411bc.14
jmp case.0x4411a2.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x4411bc.14
jmp case.0x4411a2.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne case.0x4411bc.14
jmp case.0x4411a2.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4411bc.14
jmp case.0x4411a2.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x4411bc.14
jmp case.0x4411a2.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je case.0x4411bc.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.0043b510
add esp, 0x24
test eax, eax
je 0x441127
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