Function at 0x43b527
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 0x43fb0b
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 0x43fb1d
test byte [esp + 0x158], 2
mov eax, dword [esp + 0x150]
mov dword [esp + 0x38], eax
je 0x43b599
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.0x43b5bf.15
movzx edx, byte [edx + 0x441457]
jmp dword [edx*4 + 0x441337]
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
cmp byte [ebp + 3], 0x53
jne 0x43b694
mov ecx, dword [0x4a56e8]
test ecx, ecx
je 0x43b691
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.0x4411d3.14
jl 0x44132b
add ebp, 6
movzx ecx, byte [ebp + 3]
lea eax, [ebp + 3]
cmp ecx, 0x66
je 0x43b885
cmp ecx, 0x67
je 0x43b885
cmp ecx, 0x64
je 0x43b71f
cmp ecx, 0x65
je 0x43b71f
cmp ecx, 0x68
jne 0x43b6d0
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
jmp 0x43b873
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.0043b527
add esp, 0x24
cmp eax, 1
je 0x43f871
test eax, eax
je 0x43b718
cmp eax, 0xfffffc1c
jne 0x44132b
add ebp, ebx
jmp 0x43b873
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 0x43b744
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43b9c5
mov dword [esp + 0x20], 0
cmp ecx, 0x65
jne 0x43b859
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 0x43b788
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [esp + 0x18]
je 0x43b784
add ebx, dword [edi + 0x24]
inc ecx
cmp ecx, dword [edi + 0x20]
jl 0x43b769
mov dword [esp + 0x14], ecx
cmp ecx, dword [edi + 0x20]
jge 0x43b859
mov dword [esp + 0x28], ebx
cmp ebx, dword [edi + 0x28]
jbe 0x43b7ee
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.004154c0
add esp, 8
test eax, eax
jne 0x43b7ee
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 0x43b7e1
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43b9c5
mov dword [esp + 0x20], 0
cmp ecx, dword [edi + 0x28]
ja 0x43b79a
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
jge 0x43b859
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.004154c0
add esp, 8
test eax, eax
jne 0x43b859
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x43b843
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43b9c5
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
jl 0x43b807
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 0x43f89e
cmp byte [ebp], 0x54
je 0x43f89e
add ebp, 3
jmp 0x43b599
mov edx, dword [edi + 0x90]
test edx, edx
jne 0x43b8a0
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
jmp 0x43b873
movzx eax, byte [ebp + 4]
movzx ebx, byte [ebp + 5]
shl eax, 8
or eax, ebx
cmp eax, 0xffff
je 0x43b9c5
cmp eax, dword [edx + 4]
je 0x43b9c5
mov dword [esp + 0x20], 0
cmp ecx, 0x67
jne 0x43b859
mov ebx, dword [edi + 0x28]
xor ecx, ecx
cmp dword [edi + 0x20], ecx
mov dword [esp + 0x14], ecx
jle 0x43b8fd
movzx ecx, byte [ebx]
movzx edx, byte [ebx + 1]
shl ecx, 8
or ecx, edx
cmp ecx, eax
je 0x43b8fd
mov ecx, dword [esp + 0x14]
add ebx, dword [edi + 0x24]
inc ecx
cmp ecx, dword [edi + 0x20]
mov dword [esp + 0x14], ecx
jl 0x43b8dc
mov eax, dword [esp + 0x14]
cmp eax, dword [edi + 0x20]
jge 0x43b859
mov dword [esp + 0x28], ebx
cmp ebx, dword [edi + 0x28]
jbe 0x43b95e
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.004154c0
add esp, 8
test eax, eax
jne 0x43b95e
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 0x43b9c5
mov dword [esp + 0x20], 0
cmp eax, dword [edi + 0x28]
ja 0x43b917
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
jge 0x43b859
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.004154c0
add esp, 8
test eax, eax
jne 0x43b859
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 0x43b9c5
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
jl 0x43b977
jmp 0x43b859
mov dword [esp + 0x20], 1
mov eax, 3
jmp 0x43b866
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 0x43ba01
mov dword [edi + 0x38], 1
add ebp, 3
jmp 0x43b599
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 0x43ba2e
add ecx, 2
mov dword [esp + 0x148], ecx
add ebp, 3
jmp 0x43b599
mov ebp, dword [edi + 0x90]
cmp ebp, ebx
je 0x43fe3d
cmp dword [ebp + 4], ebx
jne 0x43fe3d
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.00417870
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 0x43b599
movzx edx, byte [ebp + 1]
mov dword [esp + 0x150], edx
add ebp, 2
jmp 0x43b599
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.0043b527
add esp, 0x24
cmp eax, 1
je 0x43bb0b
test eax, eax
je 0x43baf6
cmp eax, 0xfffffc1c
jne 0x44132b
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43bab7
cmp byte [ebp], 0x55
je case.0x4411d3.14
test byte [esp + 0x158], 1
jne 0x43fe77
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 0x43bb27
mov edx, dword [edi + 0x7c]
add ebp, 3
mov dword [esp + 0x148], edx
jmp 0x43b599
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.0043b527
add esp, 0x24
cmp eax, 1
je case.0x4411d3.14
test eax, eax
je 0x43bb9a
cmp eax, 0xfffffc1c
jne 0x44132b
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43bb57
test byte [esp + 0x158], 1
jne 0x43fe77
add ebp, 3
jmp 0x43b599
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
cmp dword [esp + 0x30], ebx
je 0x43bc09
or eax, ecx
jle 0x43bc16
mov ecx, dword [edi + 0x64]
dec esi
dec eax
cmp esi, ecx
jb case.0x4411d3.14
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43bc03
lea ebx, [ebx]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43bbf7
cmp eax, ebx
jg 0x43bbdd
jmp 0x43bc16
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x64]
jb case.0x4411d3.14
cmp esi, dword [edi + 0x74]
jae 0x43bc1e
mov dword [edi + 0x74], esi
add ebp, 3
jmp 0x43b599
mov ecx, dword [0x4a56e8]
cmp ecx, ebx
je 0x43bcf5
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.0x4411d3.14
jl 0x44132b
add ebp, 6
jmp 0x43b599
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], esi
jmp 0x43bd17
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.0043b527
add esp, 0x24
cmp eax, 1
je 0x43bd72
test eax, eax
je 0x43bd5d
cmp eax, 0xfffffc1c
jne 0x44132b
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43bd17
mov al, byte [ebp]
cmp al, 0x5d
je 0x43bd87
cmp al, 0x54
jne case.0x4411d3.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 0x43bd87
cmp byte [ebp], 0x55
mov eax, dword [edi + 0x7c]
mov esi, dword [edi + 0x70]
mov dword [esp + 0x148], eax
je 0x43bdb9
cmp esi, dword [esp + 0x28]
jne 0x43f99c
add ebp, 3
jmp 0x43b599
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.0x43b5bf.84
jmp 0x43b599
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
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 0x43be27
add ebp, 3
jmp 0x43b599
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 0x43be47
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
jmp 0x43b599
inc ebp
jmp 0x43bea7
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43bea7
add ebp, 3
jmp 0x43b599
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 0x43bef8
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 0x43bf07
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x28], 0
cmp al, 0x58
je 0x4400bb
cmp al, 0x59
je 0x4400bb
cmp al, 0x5a
je 0x4400bb
cmp al, 0x5b
je 0x4400bb
cmp al, 0x5d
je 0x4400bb
cmp al, 0x5f
je 0x43bf3b
cmp al, 0x62
jne 0x43bff0
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 0x43bf67
mov dword [edi + 0x38], 1
jmp 0x43bf98
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 0x43bf98
add ecx, 2
mov dword [esp + 0x148], ecx
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x43bff0
cmp dword [ecx + 4], eax
jne 0x43bff0
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.00412490
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 0x43b599
cmp byte [ebp], 0x55
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x150], ecx
je 0x43c00b
cmp esi, dword [esp + 0x28]
jne 0x43fa40
add ebp, 3
jmp 0x43b599
cmp dword [edi + 0x3c], ebx
je 0x43c021
cmp esi, dword [edi + 0x64]
je case.0x4411d3.14
test byte [esp + 0x150], 2
je case.0x43b5bf.1
mov eax, dword [edi + 0x64]
cmp esi, eax
je 0x43c099
cmp esi, dword [edi + 0x68]
je case.0x4411d3.14
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43c06c
cmp esi, eax
jbe case.0x4411d3.14
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433a52
add esp, 0x14
test eax, eax
je case.0x4411d3.14
inc ebp
jmp 0x43b599
mov ecx, dword [edi + 0x1c]
add eax, ecx
cmp esi, eax
jb case.0x4411d3.14
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne case.0x4411d3.14
cmp ecx, 1
je 0x43c099
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x64]
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
mov ecx, dword [edi + 0x84]
add ecx, dword [edi + 0x64]
cmp esi, ecx
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
mov dword [esp + 0x144], esi
inc ebp
jmp 0x43b599
test byte [esp + 0x150], 2
je 0x43c14a
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43c13b
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43c10c
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
je case.0x4411d3.14
inc ebp
jmp 0x43b599
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4411d3.14
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x4411d3.14
cmp ecx, 1
je 0x43c144
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp dword [edi + 0x40], ebx
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp dword [edi + 0x40], ebx
jne case.0x4411d3.14
cmp dword [edi + 0x4c], ebx
jne case.0x43b5bf.24
mov eax, dword [edi + 0x68]
cmp esi, eax
je 0x43c1c5
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43c18c
cmp esi, eax
jae case.0x4411d3.14
mov edx, dword [esp + 0x30]
push edx
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
je case.0x4411d3.14
jmp 0x43c1b8
mov ecx, dword [edi + 0x1c]
lea ebx, [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4411d3.14
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x4411d3.14
cmp ecx, 1
je 0x43c1b8
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne case.0x4411d3.14
mov edx, dword [edi + 0x68]
sub edx, dword [ebx]
cmp esi, edx
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jb case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp dword [esp + 0x30], ebx
je 0x43c31e
cmp esi, dword [edi + 0x64]
je 0x43c296
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
mov dword [esp + 0x18], eax
cmp cl, 0x80
jne 0x43c20f
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x43c1ff
mov dword [esp + 0x18], eax
cmp eax, dword [edi + 0x74]
jae 0x43c217
mov dword [edi + 0x74], eax
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x43c27e
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 0x43c27e
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 0x43c257
cmp edx, 0x100
jae 0x43c296
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je 0x43c296
mov ecx, 1
jmp 0x43c298
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp esi, dword [edi + 0x68]
jb 0x43c2ab
mov eax, dword [edi + 0x78]
test eax, eax
jmp 0x43c34d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43c306
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 0x43c302
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 0x43c2e7
mov ecx, dword [esp + 0x20]
cmp edx, 0x100
jae 0x43c368
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je 0x43c368
mov eax, 1
jmp 0x43c37c
cmp esi, dword [edi + 0x64]
jne 0x43c327
xor ecx, ecx
jmp 0x43c343
cmp esi, dword [edi + 0x74]
ja 0x43c332
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 0x43c36c
mov eax, dword [edi + 0x78]
cmp eax, ebx
je 0x43c368
cmp esi, dword [esp + 0x144]
jbe 0x43c368
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
xor eax, eax
jmp 0x43c37c
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 0x43c39a
cmp eax, ecx
jne 0x43b599
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ecx
je 0x43b599
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43c3db
mov eax, dword [edi + 0x68]
cmp esi, eax
jae case.0x43b5bf.13
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
jne case.0x4411d3.14
jmp case.0x43b5bf.13
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x68]
sub ecx, eax
cmp esi, ecx
ja case.0x43b5bf.13
mov dl, byte [esi]
cmp dl, byte [edi + 0x2c]
jne case.0x43b5bf.13
cmp eax, 1
je case.0x4411d3.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x4411d3.14
mov eax, dword [edi + 0x68]
mov ecx, esi
inc esi
cmp ecx, eax
jae 0x4400d8
cmp dword [esp + 0x30], 0
je 0x43c42c
cmp esi, eax
jae 0x43c42c
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43c42c
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43c41c
inc ebp
jmp 0x43b599
mov eax, esi
inc esi
cmp eax, dword [edi + 0x68]
jae 0x440110
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c4a2
cmp edx, 0xc0
jb 0x43c4a2
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 0x43c4a2
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 0x43c487
cmp edx, 0x100
jae 0x43c4b7
mov eax, dword [edi + 0x34]
test byte [edx + eax], 4
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c522
cmp edx, 0xc0
jb 0x43c522
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 0x43c522
jmp 0x43c507
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 0x43c507
cmp edx, 0x100
jae case.0x4411d3.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 4
je case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c5a2
cmp edx, 0xc0
jb 0x43c5a2
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 0x43c5a2
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 0x43c587
cmp edx, 0x100
jae 0x43c5b7
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c622
cmp edx, 0xc0
jb 0x43c622
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 0x43c622
jmp 0x43c607
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 0x43c607
cmp edx, 0x100
jae case.0x4411d3.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
je case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c6a2
cmp edx, 0xc0
jb 0x43c6a2
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 0x43c6a2
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 0x43c687
cmp edx, 0x100
jae 0x43c6b7
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43c722
cmp edx, 0xc0
jb 0x43c722
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 0x43c722
jmp 0x43c707
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 0x43c707
cmp edx, 0x100
jae case.0x4411d3.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43c7a2
cmp eax, 0xc0
jb 0x43c7a2
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 0x43c7a2
jmp 0x43c78b
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 0x43c787
cmp eax, 0xd
ja 0x43c7d0
je 0x43c7bf
cmp eax, 0xa
je 0x43c7f7
jbe case.0x4411d3.14
cmp eax, 0xc
ja case.0x4411d3.14
jmp 0x43c7ed
cmp esi, dword [edi + 0x68]
jae 0x43c7f7
cmp byte [esi], 0xa
jne 0x43c7f7
inc esi
inc ebp
jmp 0x43b599
cmp eax, 0x85
je 0x43c7ed
cmp eax, 0x2027
jbe case.0x4411d3.14
cmp eax, 0x2029
ja case.0x4411d3.14
cmp dword [edi + 0x5c], 0
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43c856
cmp eax, 0xc0
jb 0x43c856
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 0x43c856
jmp 0x43c83f
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 0x43c83b
cmp eax, 0x180e
ja 0x43c899
je case.0x4411d3.14
cmp eax, 0xa0
ja 0x43c888
je case.0x4411d3.14
cmp eax, 9
je case.0x4411d3.14
cmp eax, 0x20
je case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp eax, 0x1680
je case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp eax, 0x205f
ja 0x43c8c9
je case.0x4411d3.14
cmp eax, 0x2000
jb 0x43c8d4
cmp eax, 0x200a
jbe case.0x4411d3.14
cmp eax, 0x202f
je case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp eax, 0x3000
je case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43c933
cmp eax, 0xc0
jb 0x43c933
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 0x43c933
jmp 0x43c91c
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 0x43c918
cmp eax, 0x180e
ja 0x43c96a
je 0x43c9a1
cmp eax, 0xa0
ja 0x43c959
je 0x43c9a1
cmp eax, 9
je 0x43c9a1
cmp eax, 0x20
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp eax, 0x1680
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp eax, 0x205f
ja 0x43c996
je 0x43c9a1
cmp eax, 0x2000
jb case.0x4411d3.14
cmp eax, 0x200a
jbe 0x43c9a1
cmp eax, 0x202f
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp eax, 0x3000
jne case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43ca02
cmp eax, 0xc0
jb 0x43ca02
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 0x43ca02
jmp 0x43c9eb
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 0x43c9e7
cmp eax, 0x85
ja 0x43ca23
je case.0x4411d3.14
cmp eax, 0xa
jb 0x43ca35
cmp eax, 0xd
jbe case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp eax, 0x2028
jb 0x43ca35
cmp eax, 0x2029
jbe case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43ca94
cmp eax, 0xc0
jb 0x43ca94
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 0x43ca94
jmp 0x43ca7d
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 0x43ca79
cmp eax, 0x85
ja 0x43cab5
je 0x43cacb
cmp eax, 0xa
jb case.0x4411d3.14
cmp eax, 0xd
ja case.0x4411d3.14
inc ebp
jmp 0x43b599
cmp eax, 0x2028
jb case.0x4411d3.14
cmp eax, 0x2029
ja case.0x4411d3.14
inc ebp
jmp 0x43b599
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 0x43cb03
mov ecx, dword [edi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
cmp ecx, ebx
jl 0x43cb03
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x43cb12
cmp dword [edi + 0x48], ebx
je 0x43cb0c
xor ebx, ebx
jmp 0x43cb12
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.0x43cb2b
movzx edx, byte [edx + 0x4414d3]
jmp dword [edx*4 + 0x4414cb]
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 0x43cb9f
mov dword [esp + 0x1c], accept
jmp 0x43cb9f
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 0x43cb9c
mov dword [esp + 0x1c], accept
add ebp, 5
test ebx, ebx
je 0x43b599
mov eax, dword [esp + 0x20]
cmp eax, 1
mov dword [esp + 0x14], 1
jl 0x43cbed
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
push esi
push ecx
call fcn.00433d2f
add esp, 0x14
test eax, eax
je 0x4401e6
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
jle 0x43cbb8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x43b599
cmp dword [esp + 0x2c], 0
je 0x440117
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
jmp 0x43cc57
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x14], edx
jge case.0x4411d3.14
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
push esi
push ecx
call fcn.00433d2f
add esp, 0x14
test eax, eax
je 0x4401e6
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.0043b527
add esp, 0x24
test eax, eax
je 0x43cc57
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.00433d2f
add esp, 0x14
test eax, eax
je 0x4401e6
add esi, ebx
jmp 0x43b599
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.0x43cd12
movzx edx, byte [edx + 0x4414e3]
jmp dword [edx*4 + 0x4414db]
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 0x43cd94
mov dword [esp + 0x1c], accept
jmp 0x43cd94
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 0x43cd7f
mov dword [esp + 0x1c], accept
add ebp, 5
mov edx, 1
jmp 0x43cd94
mov edx, 1
mov dword [esp + 0x1c], edx
mov eax, edx
cmp dword [esp + 0x30], 0
mov dword [esp + 0x14], edx
je 0x43ce53
cmp eax, edx
jl 0x43ce8f
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x43ce0d
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 0x43ce0d
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 0x43cdea
cmp edx, 0xff
jbe 0x43ce22
cmp dword [esp + 0x24], 0x4e
je case.0x4411d3.14
jmp 0x43ce40
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.0x4411d3.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43cdab
jmp 0x43ce8f
cmp eax, edx
jl 0x43ce8f
cmp esi, dword [edi + 0x68]
jae 0x4400d8
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.0x4411d3.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43ce57
mov ebx, dword [esp + 0x1c]
cmp eax, ebx
je 0x43b599
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x14], eax
je 0x440367
cmp dword [esp + 0x30], 0
je 0x4402af
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jae 0x44029d
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x440222
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 0x440222
jmp 0x44020b
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.0x43cf73
movzx edx, byte [edx + 0x4414f3]
jmp dword [edx*4 + 0x4414eb]
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 0x43cfea
mov dword [esp + 0x1c], accept
jmp 0x43cfea
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 0x43cfdc
mov dword [esp + 0x1c], accept
add ebp, 5
jmp 0x43cfea
mov ebx, 1
mov dword [esp + 0x1c], ebx
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x43d091
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43d06a
cmp ecx, 0xc0
jb 0x43d06a
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 0x43d06a
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 0x43d047
mov eax, dword [esp + 0x20]
push eax
push ecx
call fcn.0043376e
add esp, 8
test eax, eax
je case.0x4411d3.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43cffb
mov eax, dword [esp + 0x1c]
cmp ebx, eax
je 0x43b599
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x14], ebx
je 0x4405b1
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
cmp ebx, dword [esp + 0x1c]
jge case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43d155
cmp edx, 0xc0
jb 0x43d155
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 0x43d155
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 0x43d13a
mov ecx, dword [esp + 0x20]
push ecx
push edx
call fcn.0043376e
add esp, 8
test eax, eax
je case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x43d0ee
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], ebx
je 0x43d20a
movzx eax, byte [ebp + 1]
inc ebp
mov ecx, 1
cmp eax, 0xc0
jb 0x43d1db
and eax, 0x3f
movzx ecx, byte [eax + 0x486778]
inc ecx
mov edx, dword [edi + 0x68]
sub edx, esi
cmp ecx, edx
jg 0x440720
cmp ecx, ebx
jle 0x43b599
mov al, byte [ebp]
mov dl, byte [esi]
dec ecx
inc esi
inc ebp
cmp al, dl
jne case.0x4411d3.14
cmp ecx, ebx
jle 0x43b599
jmp 0x43d1f0
mov eax, dword [edi + 0x68]
sub eax, esi
cmp eax, 1
jl 0x440110
mov cl, byte [esi]
inc esi
cmp byte [ebp + 1], cl
jne case.0x4411d3.14
add ebp, 2
jmp 0x43b599
cmp dword [esp + 0x30], ebx
je 0x43d353
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 0x43d2a1
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 0x43d298
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 0x43d27d
mov ecx, dword [esp + 0x28]
inc eax
mov dword [esp + 0x20], eax
mov ebx, dword [edi + 0x68]
sub ebx, esi
cmp eax, ebx
jg 0x4401e6
cmp edx, 0x80
jae 0x43d2d7
movzx edx, byte [esi]
mov eax, dword [edi + 0x30]
mov dl, byte [edx + eax]
inc esi
inc ebp
cmp byte [ecx + eax], dl
je 0x43b599
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 0x43d33a
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 0x43d33a
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 0x43d317
add ebp, dword [esp + 0x20]
cmp edx, ecx
je 0x43b599
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 0x440110
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.0x4411d3.14
add ebp, 2
jmp 0x43b599
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 0x43d421
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 0x43d421
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
add ebp, eax
jmp 0x43d419
mov ebx, 1
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43d419
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
add ebp, eax
jmp 0x43d421
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 0x43d421
mov dword [esp + 0x1c], accept
cmp dword [esp + 0x30], 0
movzx eax, byte [ebp]
mov dword [esp + 0x24], eax
je 0x43d622
mov edx, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebp
cmp eax, 0xc0
jb 0x43d4c1
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 0x43d4bc
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 0x43d487
mov dword [esp + 0x24], eax
inc edx
mov dword [esp + 0x20], edx
add ebp, edx
cmp edx, 1
jle 0x43d623
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x43d514
mov eax, dword [edi + 0x68]
sub eax, edx
cmp esi, eax
ja 0x4401e6
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push edx
push esi
call fcn.00413083
add esp, 0xc
test eax, eax
jne 0x4401e6
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
inc eax
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43d4d9
cmp ebx, dword [esp + 0x1c]
je 0x43b599
cmp dword [esp + 0x2c], 0
jne 0x440739
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
jge 0x43d58b
lea esp, [esp]
mov eax, dword [edi + 0x68]
sub eax, dword [esp + 0x20]
cmp esi, eax
ja 0x43d566
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push edx
push esi
call fcn.00413083
add esp, 0xc
test eax, eax
jne 0x43d566
add esi, dword [esp + 0x20]
inc ebx
cmp ebx, dword [esp + 0x1c]
jl 0x43d537
jmp 0x43d58b
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d58b
cmp esi, dword [edi + 0x68]
jb 0x43d58b
cmp esi, dword [esp + 0x144]
jbe 0x43d58b
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp dword [esp + 0x28], 0
jne 0x43b599
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
lea ecx, [ecx]
cmp esi, dword [esp + 0x2c]
je case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x43d5d7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
inc ebp
test byte [esp + 0x150], 1
je 0x43d725
mov ecx, dword [edi + 0x30]
movzx eax, byte [eax + ecx]
mov dword [esp + 0x24], eax
mov eax, 1
cmp ebx, eax
jl 0x43d665
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x24], edx
jne case.0x4411d3.14
inc eax
cmp eax, ebx
jle 0x43d645
cmp ebx, dword [esp + 0x1c]
je 0x43b599
cmp dword [esp + 0x2c], 0
jne 0x4407f7
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
jge 0x43d6c2
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43d6a2
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
cmp dword [esp + 0x24], edx
jne 0x43d6c2
inc ebx
inc esi
cmp ebx, dword [esp + 0x1c]
jl 0x43d687
jmp 0x43d6c2
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d6c2
cmp esi, dword [esp + 0x144]
jbe 0x43d6c2
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp dword [esp + 0x28], 0
jne 0x43b599
cmp esi, dword [esp + 0x2c]
jb 0x43d718
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.0043b527
add esp, 0x24
dec esi
test eax, eax
jne 0x44132b
cmp esi, dword [esp + 0x2c]
jae 0x43d6db
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, 1
cmp ebx, ecx
jl 0x43d748
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x4411d3.14
inc ecx
cmp ecx, ebx
jle 0x43d72e
cmp ebx, dword [esp + 0x1c]
je 0x43b599
cmp dword [esp + 0x2c], 0
jne 0x4408a6
mov eax, dword [esp + 0x1c]
cmp ebx, eax
mov dword [esp + 0x2c], esi
jge 0x43d7a1
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43d781
movzx edx, byte [esi]
cmp dword [esp + 0x24], edx
jne 0x43d7a1
inc ebx
inc esi
cmp ebx, eax
jl 0x43d76c
jmp 0x43d7a1
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d7a1
cmp esi, dword [esp + 0x144]
jbe 0x43d7a1
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp dword [esp + 0x28], 0
jne 0x43b599
cmp esi, dword [esp + 0x2c]
jb 0x43d7f7
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.0043b527
add esp, 0x24
dec esi
test eax, eax
jne 0x44132b
cmp esi, dword [esp + 0x2c]
jae 0x43d7ba
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp esi, dword [edi + 0x68]
jae 0x440110
movzx eax, byte [esi]
inc ebp
inc esi
cmp dword [esp + 0x30], ebx
je 0x43d862
cmp eax, 0xc0
jb 0x43d862
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 0x43d862
jmp 0x43d84b
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 0x43d847
test byte [esp + 0x150], 1
je 0x43d89b
cmp eax, 0x100
jae 0x43d87a
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 0x43b599
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 0x43b599
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 0x43d958
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 0x43d958
mov ecx, 1
xor eax, eax
mov dword [esp + 0x28], ecx
add ebp, ecx
jmp 0x43d953
mov eax, 1
mov dword [esp + 0x28], eax
add ebp, eax
jmp 0x43d953
mov ebx, 1
xor eax, eax
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43d958
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 0x43d958
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 0x43d958
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 0x43dca2
cmp dword [esp + 0x30], 0
mov ecx, dword [edi + 0x30]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x24], edx
je 0x43da39
cmp eax, 1
jl 0x43da69
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43da0d
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 0x43da0d
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 0x43d9e4
cmp ecx, 0x100
jae 0x43da1c
mov edx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x24], ecx
je case.0x4411d3.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43d996
jmp 0x43da69
cmp eax, 1
jl 0x43da69
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x24], ecx
je case.0x4411d3.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43da3e
cmp eax, ebx
je 0x43b599
cmp dword [esp + 0x2c], 0
jne 0x44094e
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43dbfe
cmp eax, ebx
mov dword [esp + 0x14], eax
jge 0x43db51
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43db36
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43db0d
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 0x43db0c
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 0x43dae7
mov eax, dword [esp + 0x1c]
inc edx
cmp eax, 0x100
jae 0x43db1b
mov ecx, dword [edi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [esp + 0x24], eax
je 0x43db51
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43da97
jmp 0x43db51
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43db51
cmp esi, dword [esp + 0x144]
jbe 0x43db51
cmp eax, edx
mov dword [edi + 0x58], edx
jg 0x440100
cmp dword [esp + 0x28], 0
jne 0x43b599
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43dc95
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43dbc1
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43dbb7
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.0043b527
add esp, 0x24
test eax, eax
je 0x43db9a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x43dc3f
cmp esi, dword [edi + 0x68]
jae 0x43dc1f
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x24], ecx
je 0x43dc3f
inc eax
inc esi
cmp eax, ebx
jl 0x43dc02
jmp 0x43dc3f
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43dc3f
cmp esi, dword [esp + 0x144]
jbe 0x43dc3f
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp dword [esp + 0x28], 0
jne 0x43b599
cmp esi, dword [esp + 0x2c]
jb 0x43dc95
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43dc58
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
je 0x43dd4c
cmp eax, 1
jl 0x43dd73
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43dd31
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 0x43dd2d
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 0x43dd04
mov edx, dword [esp + 0x24]
cmp edx, ecx
je case.0x4411d3.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43dcb6
jmp 0x43dd73
cmp eax, 1
jl 0x43dd73
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx ecx, byte [esi]
inc esi
cmp edx, ecx
je case.0x4411d3.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43dd51
cmp eax, ebx
je 0x43b599
cmp dword [esp + 0x2c], 0
jne 0x440b24
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43deff
cmp eax, ebx
mov dword [esp + 0x14], eax
jge 0x43de58
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43de38
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43de1d
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 0x43de1c
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 0x43ddf7
mov edx, dword [esp + 0x1c]
inc eax
cmp dword [esp + 0x24], edx
je 0x43de58
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43dda1
jmp 0x43de58
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43de58
cmp esi, dword [esp + 0x144]
jbe 0x43de58
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp dword [esp + 0x28], 0
jne 0x43b599
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43df91
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43dec2
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43deb8
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.0043b527
add esp, 0x24
test eax, eax
je 0x43dea1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x43df3b
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43df1b
movzx edx, byte [esi]
cmp dword [esp + 0x24], edx
je 0x43df3b
inc eax
inc esi
cmp eax, ebx
jl 0x43df06
jmp 0x43df3b
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43df3b
cmp esi, dword [esp + 0x144]
jbe 0x43df3b
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp dword [esp + 0x28], 0
jne 0x43b599
cmp esi, dword [esp + 0x2c]
jb 0x43df91
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43df54
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 0x43e05c
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 0x43e05c
xor ebx, ebx
mov dword [esp + 0x28], 1
inc ebp
jmp 0x43e054
mov ebx, 1
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43e054
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
add ebp, eax
jmp 0x43e05c
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 0x43e05c
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 0x43e05c
mov dword [esp + 0x1c], accept
movzx eax, byte [ebp]
mov edx, 1
add ebp, edx
mov dword [esp + 0x20], eax
test ebx, ebx
jle 0x43eb4f
add eax, 0xfffffffa
cmp dword [esp + 0x30], 0
je 0x43e7ed
cmp eax, 0xf
ja case.0x4411b9.15
jmp dword [eax*4 + 0x4414fb]
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb4f
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x440cdd
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e0d0
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
jne case.0x4411d3.14
lea edx, [eax + 1]
jmp 0x43e0f4
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43e0f4
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e0f4
cmp ecx, edx
je case.0x4411d3.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x4411d3.14
add esi, edx
cmp esi, dword [edi + 0x68]
jae 0x43e10a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43e10a
add esi, edx
cmp esi, dword [edi + 0x68]
jb 0x43e0fb
mov eax, dword [esp + 0x14]
add eax, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e09d
jmp 0x43eb4f
cmp ebx, edx
mov eax, edx
jl 0x43eb4f
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x440cdd
add esi, edx
cmp esi, ecx
jae 0x43e14d
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43e148
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43e138
mov edx, 1
add eax, edx
cmp eax, ebx
jle 0x43e12a
jmp 0x43eb4f
mov eax, dword [edi + 0x68]
sub eax, ebx
cmp esi, eax
ja case.0x4411d3.14
add esi, ebx
jmp 0x43eb4f
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb4f
jmp 0x43e18c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e1ee
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 0x43e1ee
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 0x43e1cb
cmp eax, 0xd
ja 0x43e218
je 0x43e20b
cmp eax, 0xa
je 0x43e23f
jbe case.0x4411d3.14
cmp eax, 0xc
ja case.0x4411d3.14
jmp 0x43e235
cmp esi, dword [edi + 0x68]
jae 0x43e23f
cmp byte [esi], 0xa
jne 0x43e23f
inc esi
jmp 0x43e23f
cmp eax, 0x85
je 0x43e235
cmp eax, 0x2027
jbe case.0x4411d3.14
cmp eax, 0x2029
ja case.0x4411d3.14
cmp dword [edi + 0x5c], 0
jne case.0x4411d3.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e187
jmp 0x43eb4f
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb4f
jmp 0x43e26c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e2ce
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 0x43e2ce
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 0x43e2ab
cmp eax, 0x180e
ja 0x43e309
je case.0x4411d3.14
cmp eax, 0xa0
ja 0x43e2fc
je case.0x4411d3.14
cmp eax, 9
je case.0x4411d3.14
cmp eax, 0x20
je case.0x4411d3.14
jmp 0x43e340
cmp eax, 0x1680
je case.0x4411d3.14
jmp 0x43e340
cmp eax, 0x205f
ja 0x43e335
je case.0x4411d3.14
cmp eax, 0x2000
jb 0x43e340
cmp eax, 0x200a
jbe case.0x4411d3.14
cmp eax, 0x202f
je case.0x4411d3.14
jmp 0x43e340
cmp eax, 0x3000
je case.0x4411d3.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e267
jmp 0x43eb4f
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb4f
jmp 0x43e36c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e3ce
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 0x43e3ce
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 0x43e3ab
cmp eax, 0x180e
ja 0x43e3fd
je 0x43e430
cmp eax, 0xa0
ja 0x43e3f0
je 0x43e430
cmp eax, 9
je 0x43e430
cmp eax, 0x20
jne case.0x4411d3.14
jmp 0x43e430
cmp eax, 0x1680
jne case.0x4411d3.14
jmp 0x43e430
cmp eax, 0x205f
ja 0x43e425
je 0x43e430
cmp eax, 0x2000
jb case.0x4411d3.14
cmp eax, 0x200a
jbe 0x43e430
cmp eax, 0x202f
jne case.0x4411d3.14
jmp 0x43e430
cmp eax, 0x3000
jne case.0x4411d3.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e367
jmp 0x43eb4f
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb4f
jmp 0x43e45c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e4be
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 0x43e4be
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 0x43e49b
cmp eax, 0x85
ja 0x43e4db
je case.0x4411d3.14
cmp eax, 0xa
jb 0x43e4ed
cmp eax, 0xd
jbe case.0x4411d3.14
jmp 0x43e4ed
cmp eax, 0x2028
jb 0x43e4ed
cmp eax, 0x2029
jbe case.0x4411d3.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e457
jmp 0x43eb4f
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb4f
jmp 0x43e51c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43e57e
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 0x43e57e
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 0x43e55b
cmp eax, 0x85
ja 0x43e59b
je 0x43e5b1
cmp eax, 0xa
jb case.0x4411d3.14
cmp eax, 0xd
ja case.0x4411d3.14
jmp 0x43e5b1
cmp eax, 0x2028
jb case.0x4411d3.14
cmp eax, 0x2029
ja case.0x4411d3.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e517
jmp 0x43eb4f
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb4f
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43e63f
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 0x43e63a
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 0x43e617
mov edx, 1
cmp ecx, 0x80
jae 0x43e654
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 4
jne case.0x4411d3.14
mov eax, dword [esp + 0x14]
add eax, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e5d3
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
jmp 0x43e67c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
mov al, byte [esi]
cmp al, 0x80
jae case.0x4411d3.14
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
and dl, 4
inc esi
test dl, dl
je case.0x4411d3.14
inc ecx
cmp ecx, ebx
jle 0x43e677
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x440cdd
mov al, byte [esi]
cmp al, 0x80
jae 0x43e6de
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 1
jne case.0x4411d3.14
mov edx, 1
mov eax, dword [edi + 0x68]
add esi, edx
cmp esi, eax
jae 0x43e6f6
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x43e6d9
mov edx, 1
add ecx, edx
cmp ecx, ebx
jle 0x43e6bb
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
jmp 0x43e71c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
mov al, byte [esi]
cmp al, 0x80
jae case.0x4411d3.14
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
and al, 1
inc esi
test al, al
je case.0x4411d3.14
inc ecx
cmp ecx, ebx
jle 0x43e717
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
mov eax, dword [edi + 0x68]
cmp esi, eax
jae case.0x4411d3.14
mov al, byte [esi]
cmp al, 0x80
jae 0x43e77d
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
jne case.0x4411d3.14
mov edx, 1
mov eax, dword [edi + 0x68]
add esi, edx
cmp esi, eax
jae 0x43e795
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x43e778
mov edx, 1
add ecx, edx
cmp ecx, ebx
jle 0x43e75a
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
jmp 0x43e7bc
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
mov al, byte [esi]
cmp al, 0x80
jae case.0x4411d3.14
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
and al, 0x10
inc esi
test al, al
je case.0x4411d3.14
inc ecx
cmp ecx, ebx
jle 0x43e7b7
jmp 0x43eb4f
cmp eax, 0xf
ja case.0x4411b9.15
jmp dword [eax*4 + 0x44153b]
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43eb4f
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x440cdd
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e839
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
jne case.0x4411d3.14
lea edx, [eax + 1]
jmp 0x43e85d
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43e85d
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e85d
cmp ecx, edx
je case.0x4411d3.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x4411d3.14
mov eax, dword [esp + 0x14]
add eax, edx
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43e809
jmp 0x43eb4f
mov eax, dword [edi + 0x68]
sub eax, ebx
cmp esi, eax
ja 0x440cdd
add esi, ebx
jmp 0x43eb4f
mov ecx, dword [edi + 0x68]
sub ecx, ebx
cmp esi, ecx
ja 0x440cdd
add esi, ebx
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x4400d8
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x4411d3.14
movzx eax, byte [eax + 0x44158b]
jmp dword [eax*4 + 0x44157b]
cmp esi, edx
jae case.0x43e8c6.10
cmp byte [esi], 0xa
jne case.0x43e8c6.10
inc esi
jmp case.0x43e8c6.10
cmp dword [edi + 0x5c], 0
jne case.0x4411d3.14
inc ecx
cmp ecx, ebx
jle 0x43e8a7
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x4400d8
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x4411d3.14
cmp eax, 0x20
je case.0x4411d3.14
cmp eax, 0xa0
je case.0x4411d3.14
inc ecx
cmp ecx, ebx
jle 0x43e8fa
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x4400d8
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43e95b
cmp eax, 0x20
je 0x43e95b
cmp eax, 0xa0
jne case.0x4411d3.14
inc ecx
cmp ecx, ebx
jle 0x43e93a
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
mov edx, dword [edi + 0x68]
jmp 0x43e977
cmp esi, edx
jae 0x4400d8
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43e99c
cmp eax, 0xd
jle case.0x4411d3.14
cmp eax, 0x85
je case.0x4411d3.14
inc ecx
cmp ecx, ebx
jle 0x43e977
jmp 0x43eb4f
cmp ebx, edx
mov ecx, edx
jl 0x43eb4f
mov edx, dword [edi + 0x68]
lea esp, [esp]
cmp esi, edx
jae 0x4400d8
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x4411d3.14
cmp eax, 0xd
jle 0x43e9dc
cmp eax, 0x85
jne case.0x4411d3.14
inc ecx
cmp ecx, ebx
jle 0x43e9b7
jmp 0x43eb4f
cmp ebx, edx
mov eax, edx
jl 0x43eb4f
jmp 0x43e9fc
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 4
inc esi
test cl, cl
jne case.0x4411d3.14
inc eax
cmp eax, ebx
jle 0x43e9f7
jmp 0x43eb4f
cmp ebx, edx
mov eax, edx
jl 0x43eb4f
jmp 0x43ea3c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 4
inc esi
test dl, dl
je case.0x4411d3.14
inc eax
cmp eax, ebx
jle 0x43ea37
jmp 0x43eb4f
cmp ebx, edx
mov eax, edx
jl 0x43eb4f
jmp 0x43ea7c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 1
inc esi
test cl, cl
jne case.0x4411d3.14
inc eax
cmp eax, ebx
jle 0x43ea77
jmp 0x43eb4f
cmp ebx, edx
mov eax, edx
jl 0x43eb4f
jmp 0x43eabc
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 1
inc esi
test dl, dl
je case.0x4411d3.14
inc eax
cmp eax, ebx
jle 0x43eab7
jmp 0x43eb4f
cmp ebx, edx
mov eax, edx
jl 0x43eb4f
jmp 0x43eaee
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 0x10
inc esi
test cl, cl
jne case.0x4411d3.14
inc eax
cmp eax, ebx
jle 0x43eae9
jmp 0x43eb4f
cmp ebx, edx
mov eax, edx
jl 0x43eb4f
jmp 0x43eb2c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x440cdd
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 0x10
inc esi
test dl, dl
je case.0x4411d3.14
inc eax
cmp eax, ebx
jle 0x43eb27
cmp ebx, dword [esp + 0x1c]
je 0x43b599
cmp dword [esp + 0x2c], 0
jne 0x440d0f
mov eax, dword [esp + 0x20]
add eax, 0xfffffffa
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43f493
cmp eax, 0xf
ja case.0x4411b9.15
jmp dword [eax*4 + 0x441607]
mov edx, dword [esp + 0x1c]
cmp edx, 0x7fffffff
jge 0x43ec1f
cmp ebx, edx
jge 0x43f3ec
jmp 0x43eba7
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ecf4
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43ebdb
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
jne 0x43f3ec
mov edx, dword [esp + 0x1c]
jmp 0x43ec00
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43ec00
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43ec00
cmp ecx, 1
je 0x43f3ec
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43f3ec
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43ec15
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ec15
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43ec07
inc ebx
cmp ebx, edx
jl 0x43eba7
jmp 0x43f3ec
cmp ebx, edx
jge 0x43f3ec
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ecf4
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43ec5b
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
jne 0x43f3ec
mov edx, dword [esp + 0x1c]
jmp 0x43ec80
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43ec80
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43ec80
cmp ecx, 1
je 0x43f3ec
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43f3ec
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43ec95
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ec95
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43ec87
inc ebx
cmp ebx, edx
jl 0x43ec27
jmp 0x43f3ec
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x7fffffff
jge 0x43ecd9
cmp ebx, ecx
jge 0x43f3ec
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ecf4
inc esi
cmp esi, eax
jae 0x43eccf
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43eccf
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43ecbf
inc ebx
cmp ebx, ecx
jl 0x43ecb6
jmp 0x43f3ec
mov esi, dword [edi + 0x68]
jmp 0x43f3ec
mov ecx, dword [edi + 0x68]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, ebx
sub edx, esi
cmp eax, edx
jbe 0x43ed21
mov esi, ecx
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f3ec
cmp esi, dword [esp + 0x144]
jbe 0x43f3ec
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
jmp 0x43f3ec
add esi, eax
jmp 0x43f3ec
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3ec
nop
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ee05
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43eda2
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 0x43eda1
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 0x43ed82
inc edx
cmp eax, 0xd
jne 0x43edb9
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43f3ec
cmp byte [esi], 0xa
jne 0x43eded
inc esi
jmp 0x43eded
cmp eax, 0xa
je 0x43edeb
cmp dword [edi + 0x5c], 0
jne 0x43f3ec
cmp eax, 0xb
je 0x43edeb
cmp eax, 0xc
je 0x43edeb
cmp eax, 0x85
je 0x43edeb
cmp eax, 0x2028
je 0x43edeb
cmp eax, 0x2029
jne 0x43f3ec
add esi, edx
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43ed37
jmp 0x43f3ec
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f3ec
cmp esi, dword [esp + 0x144]
jbe 0x43f3ec
cmp eax, edx
mov dword [edi + 0x58], edx
jg 0x440100
jmp 0x43f3ec
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3ec
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ee05
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43eea2
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 0x43eea1
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 0x43ee82
inc edx
cmp eax, 0x180e
ja 0x43eefe
je 0x43eec2
cmp eax, 0xa0
ja 0x43eef3
je 0x43eec2
cmp eax, 9
je 0x43eec2
cmp eax, 0x20
jne 0x43ef27
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0x12
sete al
cmp ecx, eax
je 0x43f3ec
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43ee3b
jmp 0x43f3ec
cmp eax, 0x1680
je 0x43eec2
xor ecx, ecx
jmp 0x43eec7
cmp eax, 0x205f
ja 0x43ef20
je 0x43eec2
cmp eax, 0x2000
jb 0x43ef27
cmp eax, 0x200a
jbe 0x43eec2
cmp eax, 0x202f
je 0x43eec2
xor ecx, ecx
jmp 0x43eec7
cmp eax, 0x3000
je 0x43eec2
xor ecx, ecx
jmp 0x43eec7
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3ec
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ee05
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43efa4
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 0x43efa3
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 0x43ef84
inc edx
cmp eax, 0x85
ja 0x43efe5
je 0x43eff3
cmp eax, 0xa
jb 0x43efb7
cmp eax, 0xd
jbe 0x43eff3
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x20], 0x14
sete al
cmp ecx, eax
je 0x43f3ec
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43ef39
jmp 0x43f3ec
cmp eax, 0x2028
jb 0x43efb7
cmp eax, 0x2029
ja 0x43efb7
mov ecx, 1
jmp 0x43efb9
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3ec
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecf4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f073
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 0x43f072
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 0x43f057
inc eax
cmp edx, 0x100
jae 0x43f088
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 4
jne 0x43f3ec
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f008
jmp 0x43f3ec
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3ec
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecf4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f113
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 0x43f112
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 0x43f0f7
inc eax
cmp edx, 0x100
jae 0x43f3ec
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 4
je 0x43f3ec
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f0b0
jmp 0x43f3ec
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3ec
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecf4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f1b4
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 0x43f1b3
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 0x43f198
inc eax
cmp edx, 0x100
jae 0x43f1c9
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 1
jne 0x43f3ec
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f154
jmp 0x43f3ec
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3ec
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecf4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f255
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 0x43f254
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 0x43f239
inc eax
cmp edx, 0x100
jae 0x43f3ec
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 1
je 0x43f3ec
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f1f1
jmp 0x43f3ec
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3ec
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ecf4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f303
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 0x43f302
jmp 0x43f2e7
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 0x43f2e7
inc eax
cmp edx, 0x100
jae 0x43f318
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 0x10
jne 0x43f3ec
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f296
jmp 0x43f3ec
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43f3ec
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43f3cc
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43f3a4
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 0x43f3a3
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 0x43f388
inc eax
cmp edx, 0x100
jae 0x43f3ec
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 0x10
je 0x43f3ec
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43f340
jmp 0x43f3ec
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f3ec
cmp esi, dword [esp + 0x144]
jbe 0x43f3ec
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp dword [esp + 0x28], 0
jne 0x43b599
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je 0x43f864
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43f456
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43f44a
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.0043b527
add esp, 0x24
test eax, eax
je 0x43f435
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, 0xf
ja case.0x4411b9.15
jmp dword [eax*4 + 0x441647]
cmp ebx, dword [esp + 0x1c]
jge 0x43f7fe
jmp 0x43f4b7
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43f529
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43f4e4
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
jne 0x43f7fe
jmp 0x43f509
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43f509
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43f509
cmp ecx, 1
je 0x43f7fe
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43f7fe
inc ebx
inc esi
cmp ebx, dword [esp + 0x1c]
jl 0x43f4b7
jmp 0x43f7fe
mov ecx, dword [edi + 0x68]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, ebx
sub edx, esi
cmp eax, edx
jbe 0x43f556
mov esi, ecx
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f7fe
cmp esi, dword [esp + 0x144]
jbe 0x43f7fe
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
jmp 0x43f7fe
add esi, eax
jmp 0x43f7fe
mov edx, dword [esp + 0x1c]
cmp ebx, edx
jge 0x43f7fe
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43f529
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43f588
inc esi
cmp esi, ecx
jae 0x43f7fe
cmp byte [esi], 0xa
jne 0x43f5ad
jmp 0x43f5ac
cmp eax, 0xa
je 0x43f5ac
cmp dword [edi + 0x5c], 0
jne 0x43f7fe
cmp eax, 0xb
je 0x43f5ac
cmp eax, 0xc
je 0x43f5ac
cmp eax, 0x85
jne 0x43f7fe
inc esi
inc ebx
cmp ebx, edx
jl 0x43f56c
jmp 0x43f7fe
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43f7fe
mov edx, dword [edi + 0x68]
nop
cmp esi, edx
jae 0x43f529
movzx eax, byte [esi]
cmp eax, 9
je 0x43f7fe
cmp eax, 0x20
je 0x43f7fe
cmp eax, 0xa0
je 0x43f7fe
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f5c7
jmp 0x43f7fe
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43f7fe
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x43f529
movzx eax, byte [esi]
cmp eax, 9
je 0x43f629
cmp eax, 0x20
je 0x43f629
cmp eax, 0xa0
jne 0x43f7fe
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f609
jmp 0x43f7fe
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43f7fe
mov edx, dword [edi + 0x68]
lea esp, [esp]
cmp esi, edx
jae 0x43f529
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43f7fe
cmp eax, 0xb
je 0x43f7fe
cmp eax, 0xc
je 0x43f7fe
cmp eax, 0xd
je 0x43f7fe
cmp eax, 0x85
je 0x43f7fe
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f647
jmp 0x43f7fe
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43f7fe
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x43f529
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43f6c5
cmp eax, 0xb
je 0x43f6c5
cmp eax, 0xc
je 0x43f6c5
cmp eax, 0xd
je 0x43f6c5
cmp eax, 0x85
jne 0x43f7fe
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f69b
jmp 0x43f7fe
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7fe
cmp esi, dword [edi + 0x68]
jae 0x43f529
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 4
jne 0x43f7fe
inc ebx
inc esi
cmp ebx, eax
jl 0x43f6dc
jmp 0x43f7fe
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7fe
cmp esi, dword [edi + 0x68]
jae 0x43f529
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 4
je 0x43f7fe
inc ebx
inc esi
cmp ebx, eax
jl 0x43f70c
jmp 0x43f7fe
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7fe
cmp esi, dword [edi + 0x68]
jae 0x43f529
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 1
jne 0x43f7fe
inc ebx
inc esi
cmp ebx, eax
jl 0x43f73c
jmp 0x43f7fe
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7fe
cmp esi, dword [edi + 0x68]
jae 0x43f529
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 1
je 0x43f7fe
inc ebx
inc esi
cmp ebx, eax
jl 0x43f76c
jmp 0x43f7fe
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7fe
cmp esi, dword [edi + 0x68]
jae 0x43f529
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
jne 0x43f7fe
inc ebx
inc esi
cmp ebx, eax
jl 0x43f79c
jmp 0x43f7fe
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43f7fe
cmp esi, dword [edi + 0x68]
jae 0x43f7de
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x43f7fe
inc ebx
inc esi
cmp ebx, eax
jl 0x43f7c5
jmp 0x43f7fe
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43f7fe
cmp esi, dword [esp + 0x144]
jbe 0x43f7fe
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp dword [esp + 0x28], 0
jne 0x43b599
cmp esi, dword [esp + 0x2c]
jb 0x43f864
mov ebx, dword [esp + 0x15c]
inc ebx
jmp 0x43f827
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.0043b527
add esp, 0x24
dec esi
test eax, eax
jne 0x44132b
cmp esi, dword [esp + 0x2c]
jae 0x43f827
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 0x43f89e
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43f889
add ebp, 3
cmp dword [esp + 0x24], 0x63
je 0x43fdfc
mov ebx, dword [esp + 0x154]
jmp 0x43faee
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 0x43fcb4
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 0x43f97c
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.0043b527
add esp, 0x24
test eax, eax
je 0x43f959
cmp eax, 0xfffffc1c
jne 0x44132b
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 0x43f908
cmp dword [esp + 0x158], 0
jne 0x43fdaf
movzx edx, byte [ebp]
movzx eax, byte [edx + 0x4866b8]
add ebp, eax
jmp 0x43faf9
cmp byte [ebp + 3], 0x19
lea ecx, [ebp + 3]
mov dword [esp + 0x18], ecx
jne 0x43f9c0
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 0x43fa03
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov ebp, dword [esp + 0x20]
jmp 0x43faee
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov ebp, dword [esp + 0x18]
jmp 0x43faee
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 0x43faad
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
cmp dword [esp + 0x158], eax
jne 0x44007a
mov ebp, dword [esp + 0x20]
jmp 0x43faf9
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
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 0x43b55f
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
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.0043b527
add esp, 0x24
test eax, eax
je 0x43fd5d
cmp eax, 0xfffffc1c
jne 0x44132b
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 0x43fd09
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.0043b527
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.0043b527
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x144]
cmp esi, eax
jne 0x43fe67
cmp dword [edi + 0x50], ebx
jne case.0x4411d3.14
cmp dword [edi + 0x54], ebx
je 0x43fe67
mov edx, dword [edi + 0x84]
add edx, dword [edi + 0x64]
cmp eax, edx
je case.0x4411d3.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 0x43fea7
mov dword [esp + 0x40], 0
jmp 0x43feb8
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 0x43feec
lea eax, [esp + 0xc0]
mov dword [esp + 0x4c], eax
jmp 0x43ff16
add ecx, ecx
add ecx, ecx
push ecx
call dword [fcn.00492670]
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x43ff12
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.00412490
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.0043b527
add esp, 0x24
mov dword [esp + 0x18], eax
cmp eax, 1
je 0x44001b
test eax, eax
je 0x43ffab
cmp eax, 0xfffffc1c
jne 0x44004e
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.00412490
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 0x43ff59
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x90], eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0xc0]
cmp eax, ecx
je 0x44000e
push eax
call dword [fcn.00492674]
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 0x44003e
push eax
call dword [fcn.00492674]
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 0x44132b
push ecx
call dword [fcn.00492674]
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.0043b527
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.0x4411d3.14
cmp esi, dword [esp + 0x144]
jbe case.0x4411d3.14
mov dword [edi + 0x58], 1
cmp eax, 1
jle case.0x4411d3.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 0x4400dd
cmp eax, ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], eax
jge 0x440181
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x24]
push ecx
push edi
push ebx
push esi
push edx
call fcn.00433d2f
add esp, 0x14
test eax, eax
je 0x440156
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x440127
jmp 0x440177
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440177
cmp esi, dword [edi + 0x68]
jb 0x440177
cmp esi, dword [esp + 0x144]
jbe 0x440177
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp esi, dword [esp + 0x2c]
jb 0x4401d9
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x28], eax
jmp 0x440197
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
sub esi, ebx
cmp esi, dword [esp + 0x2c]
jae 0x440197
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.0x4411d3.14
cmp esi, dword [edi + 0x68]
jb case.0x4411d3.14
jmp 0x4400e3
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 0x440207
cmp eax, 0xff
jbe 0x440236
cmp dword [esp + 0x24], 0x4e
je case.0x4411d3.14
jmp 0x440254
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.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x43cef7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x4411d3.14
cmp esi, ebx
jmp 0x4400ea
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jge case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jae 0x4400d8
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.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x4402ed
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x4404f5
cmp eax, ebx
jge 0x440457
mov ecx, 1
mov dword [esp + 0x18], ecx
cmp esi, dword [edi + 0x68]
jae 0x44043c
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x4403f6
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 0x4403ed
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 0x4403ce
mov ebx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x18], eax
cmp edx, 0xff
jbe 0x44040b
cmp dword [esp + 0x24], 0x4e
je 0x440457
jmp 0x440425
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 0x440457
mov eax, dword [esp + 0x14]
add esi, dword [esp + 0x18]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x44037e
jmp 0x440457
mov eax, dword [edi + 0x78]
test eax, eax
je 0x440457
cmp esi, dword [esp + 0x144]
jbe 0x440457
cmp eax, ecx
mov dword [edi + 0x58], ecx
jg 0x440100
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov edi, edi
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x4405a4
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x4404b8
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4404ae
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.0043b527
add esp, 0x24
test eax, eax
je 0x440497
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x440559
cmp esi, dword [edi + 0x68]
jae 0x44052f
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 0x44054f
mov eax, dword [esp + 0x14]
inc eax
inc esi
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x4404fd
jmp 0x44054f
mov eax, dword [edi + 0x78]
test eax, eax
je 0x44054f
cmp esi, dword [esp + 0x144]
jbe 0x44054f
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x440100
cmp esi, dword [esp + 0x2c]
jb 0x4405a4
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x440567
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp ebx, eax
mov dword [esp + 0x2c], esi
jge 0x44067d
jmp 0x4405c7
mov ebx, 1
cmp esi, dword [edi + 0x68]
jae 0x440661
cmp dword [esp + 0x30], 0
movzx edx, byte [esi]
je 0x440638
cmp edx, 0xc0
jb 0x440638
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 0x440635
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 0x44061a
lea ebx, [eax + 1]
mov eax, dword [esp + 0x20]
push eax
push edx
call fcn.0043376e
add esp, 8
test eax, eax
je 0x44067d
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x4405c7
jmp 0x44067d
mov eax, dword [edi + 0x78]
test eax, eax
je 0x44067d
cmp esi, dword [esp + 0x144]
jbe 0x44067d
cmp eax, 1
mov dword [edi + 0x58], ebx
jg 0x440100
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je case.0x4411d3.14
cmp dword [esp + 0x30], 0
je 0x4406e3
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4406e3
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x4406d7
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.0043b527
add esp, 0x24
test eax, eax
je 0x4406bb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
cmp eax, ebx
je case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jb case.0x4411d3.14
jmp 0x4400e3
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge case.0x4411d3.14
mov edx, dword [edi + 0x68]
sub edx, dword [esp + 0x20]
cmp esi, edx
ja 0x4401e6
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push esi
call fcn.00413083
add esp, 0xc
test eax, eax
jne 0x4401e6
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.0043b527
add esp, 0x24
test eax, eax
je 0x44077b
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [esp + 0x24], eax
jne case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x440839
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x24], edx
jne case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x4408e8
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 0x440a7d
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
jmp 0x4409a7
cmp dword [esp + 0x14], ebx
jge case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x440a1b
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 0x440a1b
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 0x4409f8
cmp ecx, 0x100
jae 0x440a2a
mov eax, dword [edi + 0x30]
movzx ecx, byte [eax + ecx]
cmp dword [esp + 0x24], ecx
je case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x4409a7
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
lea esp, [esp]
cmp dword [esp + 0x14], ebx
jge case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [esp + 0x24], eax
je case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x440ab7
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 0x440c3e
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov edi, edi
cmp dword [esp + 0x14], ebx
jge case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x440beb
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 0x440beb
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 0x440bc8
cmp dword [esp + 0x24], ecx
je case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x440b77
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
lea ebx, [ebx]
cmp dword [esp + 0x14], ebx
jge case.0x4411d3.14
cmp esi, dword [edi + 0x68]
jae 0x4400d8
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x24], eax
je case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x440c77
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x4411d3.14
cmp esi, dword [esp + 0x144]
jbe case.0x4411d3.14
mov dword [edi + 0x58], edx
cmp eax, edx
jmp 0x4400fa
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 0x441100
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
cmp ebx, dword [esp + 0x1c]
jge case.0x4411d3.14
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x4400d8
cmp dword [esp + 0x20], 0xc
jne 0x440dc6
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x440da1
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
jne case.0x4411d3.14
jmp 0x440dc6
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x440dc6
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x440dc6
cmp ecx, 1
je case.0x4411d3.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x4411d3.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x440e14
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 0x440e14
jmp 0x440dfd
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 0x440df9
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x4411b9.15
jmp dword [ecx*4 + 0x441687]
cmp eax, 0xd
ja 0x440e64
je 0x440e4c
cmp eax, 0xa
je case.0x440e24.12
jbe case.0x4411d3.14
cmp eax, 0xc
ja case.0x4411d3.14
jmp 0x440e81
cmp esi, dword [edi + 0x68]
jae case.0x440e24.12
cmp byte [esi], 0xa
jne case.0x440e24.12
inc esi
jmp case.0x440e24.12
cmp eax, 0x85
je 0x440e81
cmp eax, 0x2027
jbe case.0x4411d3.14
cmp eax, 0x2029
ja case.0x4411d3.14
cmp dword [edi + 0x5c], 0
jne case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x180e
ja 0x440ed1
je case.0x4411d3.14
cmp eax, 0xa0
ja 0x440ec1
je case.0x4411d3.14
cmp eax, 9
je case.0x4411d3.14
cmp eax, 0x20
je case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x1680
je case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x205f
ja 0x440f04
je case.0x4411d3.14
cmp eax, 0x2000
jb case.0x440e24.12
cmp eax, 0x200a
jbe case.0x4411d3.14
cmp eax, 0x202f
je case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x3000
je case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x180e
ja 0x440f55
je case.0x440e24.12
cmp eax, 0xa0
ja 0x440f45
je case.0x440e24.12
cmp eax, 9
je case.0x440e24.12
cmp eax, 0x20
jne case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x1680
jne case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x205f
ja 0x440f88
je case.0x440e24.12
cmp eax, 0x2000
jb case.0x4411d3.14
cmp eax, 0x200a
jbe case.0x440e24.12
cmp eax, 0x202f
jne case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x3000
jne case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x85
ja 0x440fbc
je case.0x4411d3.14
cmp eax, 0xa
jb case.0x440e24.12
cmp eax, 0xd
jbe case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x2028
jb case.0x440e24.12
cmp eax, 0x2029
jbe case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x85
ja 0x440ffb
je case.0x440e24.12
cmp eax, 0xa
jb case.0x4411d3.14
cmp eax, 0xd
ja case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x2028
jb case.0x4411d3.14
cmp eax, 0x2029
ja case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x100
jae case.0x440e24.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x100
jae case.0x4411d3.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x100
jae case.0x440e24.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x100
jae case.0x4411d3.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x100
jae case.0x440e24.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x4411d3.14
jmp case.0x440e24.12
cmp eax, 0x100
jae case.0x4411d3.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x440d60
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.0043b527
add esp, 0x24
test eax, eax
jne 0x44132b
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x4411d3.14
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x4400d8
cmp dword [esp + 0x20], 0xc
jne 0x4411a5
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x441180
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ba3
add esp, 0x14
test eax, eax
jne case.0x4411d3.14
jmp 0x4411a5
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x4411a5
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x4411a5
cmp ecx, 1
je case.0x4411d3.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x4411d3.14
mov ecx, dword [esp + 0x20]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x4411b9.15
jmp dword [ecx*4 + 0x4416c7]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4411d3.14
movzx edx, byte [eax + 0x441717]
jmp dword [edx*4 + 0x441707]
cmp esi, dword [edi + 0x68]
jae case.0x4411b9.12
cmp byte [esi], 0xa
jne case.0x4411b9.12
inc esi
jmp case.0x4411b9.12
cmp dword [edi + 0x5c], 0
jne case.0x4411d3.14
jmp case.0x4411b9.12
cmp eax, 9
je case.0x4411d3.14
cmp eax, 0x20
je case.0x4411d3.14
cmp eax, 0xa0
je case.0x4411d3.14
jmp case.0x4411b9.12
cmp eax, 9
je case.0x4411b9.12
cmp eax, 0x20
je case.0x4411b9.12
cmp eax, 0xa0
jne case.0x4411d3.14
jmp case.0x4411b9.12
cmp eax, 0xa
jb case.0x4411b9.12
cmp eax, 0xd
jbe case.0x4411d3.14
cmp eax, 0x85
je case.0x4411d3.14
jmp case.0x4411b9.12
cmp eax, 0xa
jb case.0x4411d3.14
cmp eax, 0xd
jbe case.0x4411b9.12
cmp eax, 0x85
jne case.0x4411d3.14
jmp case.0x4411b9.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4411d3.14
jmp case.0x4411b9.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x4411d3.14
jmp case.0x4411b9.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne case.0x4411d3.14
jmp case.0x4411b9.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4411d3.14
jmp case.0x4411b9.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x4411d3.14
jmp case.0x4411b9.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je case.0x4411d3.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.0043b527
add esp, 0x24
test eax, eax
je 0x44113e
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