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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
push ebx
push esi
push edi
mov edi, dword [ebp + 0x1c]
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jae 0x43cd09
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0x2c]
inc eax
mov dword [edi], eax
cmp ecx, dword [edi + 8]
jae 0x43cd17
test byte [ebp + 0x28], 2
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x20], edx
je 0x4372b2
mov eax, dword [ebp + 0x24]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], eax
mov dword [ebp + 0x24], ecx
movzx ecx, byte [ebx]
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], ecx
cmp ecx, 0x76
ja case.0x4372d0.15
movzx edx, byte [ecx + 0x43ec3e]
jmp dword [edx*4 + 0x43eb0e]
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
cmp byte [ebx + 3], 0x53
mov dword [ebp + 0x1c], eax
jne 0x4373ab
cmp dword [0x4a7f20], 0
je 0x4373a8
mov dword [ebp - 0xa4], 1
movzx edx, byte [ebx + 4]
mov dword [ebp - 0xa0], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x9c], eax
mov ecx, dword [edi + 0x68]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x98], ecx
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x68]
mov ecx, esi
mov dword [ebp - 0x94], edx
sub eax, dword [edi + 0x68]
mov dword [ebp - 0x90], eax
sub ecx, dword [edi + 0x68]
mov dword [ebp - 0x8c], ecx
movzx edx, byte [ebx + 5]
movzx eax, byte [ebx + 6]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x7c], edx
movzx ecx, byte [ebx + 7]
movzx edx, byte [ebx + 8]
shl ecx, 8
or ecx, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 0x84]
mov dword [ebp - 0x84], eax
mov ecx, dword [edi + 0x98]
lea edx, [ebp - 0xa4]
push edx
mov dword [ebp - 0x80], ecx
call dword [0x4a7f20]
add esp, 4
test eax, eax
jg case.0x43e9c6.14
js 0x43eb06
add ebx, 6
movzx ecx, byte [ebx + 3]
lea eax, [ebx + 3]
cmp ecx, 0x66
je 0x4375af
cmp ecx, 0x67
je 0x4375af
cmp ecx, 0x64
je 0x437434
cmp ecx, 0x65
je 0x437434
cmp ecx, 0x68
jne 0x4373e7
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
jmp 0x43759e
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
inc edx
push edx
mov edx, dword [ebp + 0x18]
push 1
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edi
push edx
mov edx, dword [ebp + 0x10]
push ecx
push edx
push eax
push esi
call fcn.00437262
add esp, 0x28
cmp eax, 1
je 0x43caa8
test eax, eax
je 0x43742c
cmp eax, 0xfffffc1e
jne 0x43eb06
cmp dword [edi + 0x70], ebx
jne 0x43eb06
add ebx, dword [ebp + 0x1c]
jmp 0x43759e
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [ebp + 0x18]
jge 0x437455
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43770a
mov dword [ebp - 0x18], 0
cmp ecx, 0x65
jne 0x437585
mov ecx, dword [edi + 0x28]
sar eax, 1
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x1c], eax
cmp dword [edi + 0x20], eax
jle 0x4374a5
jmp 0x437482
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [ebp - 0x24]
je 0x4374a2
mov eax, dword [ebp + 0x1c]
add ecx, dword [edi + 0x24]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x437482
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x437585
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x437511
lea ebx, [ebx]
mov eax, dword [ebp - 0x14]
sub eax, dword [edi + 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
mov eax, dword [ebp - 0x10]
add eax, 2
push eax
call fcn.00414d30
add esp, 8
test eax, eax
jne 0x437511
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [ebp + 0x18]
jge 0x437505
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43770a
mov dword [ebp - 0x18], 0
cmp ecx, dword [edi + 0x28]
ja 0x4374c2
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jge 0x437585
mov ecx, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 0x24], ecx
lea ebx, [ebx]
mov eax, dword [ebp - 0x14]
add eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
push edx
call fcn.00414d30
add esp, 8
test eax, eax
jne 0x437585
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ecx]
movzx ecx, byte [ecx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [ebp + 0x18]
jge 0x437572
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43770a
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x437532
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp dword [ebp - 0x18], 0
jne 0x43cad6
cmp byte [ebx], 0x54
je 0x43cad6
add ebx, 3
jmp 0x4372b2
cmp dword [edi + 0x94], 0
jne 0x4375c9
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
jmp 0x43759e
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
mov dword [ebp - 0x24], eax
cmp eax, 0xffff
je 0x43770a
mov edx, dword [edi + 0x94]
cmp eax, dword [edx + 4]
je 0x43770a
mov dword [ebp - 0x18], 0
cmp ecx, 0x67
jne 0x437585
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x1c], ecx
cmp dword [edi + 0x20], ecx
jle 0x437635
lea ecx, [ecx]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
cmp ecx, dword [ebp - 0x24]
je 0x437632
mov ecx, dword [ebp + 0x1c]
add eax, dword [edi + 0x24]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, dword [edi + 0x20]
jl 0x437612
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x437585
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x437698
lea ebx, [ebx]
mov eax, dword [ebp - 0x14]
sub eax, dword [edi + 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
mov eax, dword [ebp - 0x10]
add eax, 2
push eax
call fcn.00414d30
add esp, 8
test eax, eax
jne 0x437698
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
or ecx, edx
mov edx, dword [edi + 0x94]
cmp ecx, dword [edx + 4]
je 0x43770a
mov dword [ebp - 0x18], 0
cmp eax, dword [edi + 0x28]
ja 0x437652
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jge 0x437585
mov ecx, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x14]
add eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
push edx
call fcn.00414d30
add esp, 8
test eax, eax
jne 0x437585
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
mov eax, dword [edi + 0x94]
shl edx, 8
or ecx, edx
cmp ecx, dword [eax + 4]
je 0x43770a
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x4376b7
jmp 0x437585
mov dword [ebp - 0x18], 1
mov eax, 3
jmp 0x437592
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
lea ecx, [eax + eax]
mov dword [edi + 0x84], eax
cmp ecx, dword [edi + 0x14]
jl 0x437745
mov dword [edi + 0x38], 1
add ebx, 3
jmp 0x4372b2
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 + 0x68]
mov dword [edx + ecx*4 + 4], eax
cmp dword [ebp + 0x18], ecx
jg 0x43776a
add ecx, 2
mov dword [ebp + 0x18], ecx
add ebx, 3
jmp 0x4372b2
cmp dword [edi + 0x94], eax
je 0x43d196
mov ebx, dword [edi + 0x94]
cmp dword [ebx + 4], eax
jne 0x43d196
mov eax, dword [ebx]
mov dword [edi + 0x94], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.004165d0
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebx + 8]
add esp, 0xc
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x20], edx
jmp 0x4372b2
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x20], eax
add ebx, 2
jmp 0x4372b2
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
mov eax, dword [ebp + 0x14]
push 0
push 0
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
lea edx, [ebx + 3]
push edx
push esi
call fcn.00437262
add esp, 0x28
cmp eax, 1
je 0x437833
cmp eax, 0xfffffc19
je 0x437833
test eax, eax
je 0x43781d
cmp eax, 0xfffffc1e
jne 0x43eb06
cmp dword [edi + 0x70], ebx
jne 0x43eb06
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je case.0x4372d0.88
jmp 0x437839
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
cmp byte [ebx], 0x55
je case.0x43e9c6.14
test byte [ebp + 0x28], 1
jne 0x43d3bb
lea ebx, [ebx]
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437852
mov edx, dword [edi + 0x80]
add ebx, 3
mov dword [ebp + 0x18], edx
jmp 0x4372b2
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
inc eax
push eax
mov eax, dword [ebp + 0x20]
push 0
push 0
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
lea ecx, [ebx + 3]
push ecx
push esi
call fcn.00437262
add esp, 0x28
cmp eax, 1
je 0x43d138
cmp eax, 0xfffffc19
je 0x43d138
cmp eax, 0xfffffc1c
je 0x4378f5
cmp eax, 0xfffffc1b
je 0x4378f5
cmp eax, 0xfffffc1a
je 0x4378f5
test eax, eax
je 0x4378df
cmp eax, 0xfffffc1e
jne 0x43eb06
cmp dword [edi + 0x70], ebx
jne 0x43eb06
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
cmp byte [ebx], 0x54
je case.0x4372d0.89
jmp 0x437909
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x4378f5
test byte [ebp + 0x28], 1
jne 0x43d3bb
add ebx, 3
jmp 0x4372b2
cmp dword [ebp - 0x1c], eax
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 1]
je 0x437958
shl eax, 8
or eax, ecx
jle 0x437968
mov ecx, dword [edi + 0x68]
dec esi
dec eax
cmp esi, ecx
jb case.0x4372d0.115
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x437952
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x437946
test eax, eax
jg 0x437932
jmp 0x437968
shl eax, 8
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x68]
jb case.0x43e9c6.14
cmp esi, dword [edi + 0x78]
jae 0x437970
mov dword [edi + 0x78], esi
add ebx, 3
jmp 0x4372b2
cmp dword [0x4a7f20], eax
je 0x437a10
mov dword [ebp - 0x74], 1
movzx edx, byte [ebx + 1]
mov dword [ebp - 0x70], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x6c], eax
mov ecx, dword [edi + 0x68]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x68], ecx
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x68]
mov ecx, esi
mov dword [ebp - 0x64], edx
sub eax, dword [edi + 0x68]
mov dword [ebp - 0x60], eax
sub ecx, dword [edi + 0x68]
mov dword [ebp - 0x5c], ecx
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x4c], edx
movzx ecx, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl ecx, 8
or ecx, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 0x84]
mov dword [ebp - 0x54], eax
mov ecx, dword [edi + 0x98]
lea edx, [ebp - 0x74]
push edx
mov dword [ebp - 0x50], ecx
call dword [0x4a7f20]
add esp, 4
test eax, eax
jg 0x43d138
js 0x43eb06
add ebx, 6
jmp 0x4372b2
mov dword [ebp + 0x1c], ebx
mov dword [ebp - 0x18], esi
lea esp, [esp]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
mov eax, dword [ebp + 0x24]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
lea edx, [ebx + 3]
push edx
push esi
call fcn.00437262
add esp, 0x28
cmp eax, 1
je 0x437a7e
test eax, eax
je 0x437a68
cmp eax, 0xfffffc1e
jne 0x43eb06
cmp dword [edi + 0x70], ebx
jne 0x43eb06
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437a22
jmp 0x437a84
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
mov al, byte [ebx]
cmp al, 0x5d
je 0x437a92
cmp al, 0x54
jne 0x43d5c0
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437a92
cmp byte [ebx], 0x55
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x74]
mov dword [ebp + 0x18], edx
je 0x437ac0
cmp esi, dword [ebp - 0x18]
jne 0x43cbdc
add ebx, 3
jmp 0x4372b2
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je case.0x4372d0.84
jmp 0x4372b2
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
inc edx
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
inc ebx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
jmp 0x437b22
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
cmp byte [ebx], 0x54
je 0x437b22
add ebx, 3
jmp 0x4372b2
inc ebx
mov eax, ebx
nop
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x437b42
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push 0
push edx
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edi
push edx
mov edx, dword [ebp + 0x10]
push ecx
push edx
add eax, 3
push eax
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
jmp 0x4372b2
inc ebx
jmp 0x437b92
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437b92
add ebx, 3
jmp 0x4372b2
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
mov edx, ebx
sub edx, eax
mov al, byte [edx]
mov dword [ebp + 0x1c], edx
cmp al, 0x61
jb 0x437bdb
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx]
mov dword [ebp + 0x24], ecx
jmp 0x437be2
mov dword [ebp - 0x18], 0
cmp al, 0x58
je 0x43d3f9
cmp al, 0x59
je 0x43d3f9
cmp al, 0x5a
je 0x43d3f9
cmp al, 0x5b
je 0x43d3f9
cmp al, 0x5d
je 0x43d3f9
cmp al, 0x5f
je 0x437c16
cmp al, 0x62
jne 0x437cb2
movzx eax, byte [edx + 3]
movzx ecx, byte [edx + 4]
shl eax, 8
or eax, ecx
lea ecx, [eax + eax]
mov dword [edi + 0x84], eax
mov dword [ebp - 0x14], eax
cmp ecx, dword [edi + 0x14]
jl 0x437c3d
mov dword [edi + 0x38], 1
jmp 0x437c68
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 + 0x68]
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + 0x18], ecx
jg 0x437c68
add ecx, 2
mov dword [ebp + 0x18], ecx
cmp dword [edi + 0x94], 0
je 0x437cb2
mov ecx, dword [edi + 0x94]
cmp dword [ecx + 4], eax
jne 0x437cb2
mov ebx, ecx
mov eax, dword [ebx]
mov dword [edi + 0x94], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00410e60
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebx + 8]
add esp, 0xc
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x20], edx
jmp 0x4372b2
cmp byte [ebx], 0x55
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x20], eax
je 0x437cc6
cmp esi, dword [ebp - 0x18]
jne 0x43cc6e
add ebx, 3
jmp 0x4372b2
cmp dword [edi + 0x3c], eax
je 0x437cdc
cmp esi, dword [edi + 0x68]
je case.0x43e9c6.14
test byte [ebp + 0x20], 2
je case.0x4372d0.1
mov ecx, dword [edi + 0x68]
cmp esi, ecx
je 0x437d56
cmp esi, dword [edi + 0x6c]
je 0x43d138
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437d25
cmp esi, ecx
jbe 0x43d138
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x68]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e7e1
add esp, 0x14
test eax, eax
je 0x43d138
inc ebx
jmp 0x4372b2
mov edx, dword [edi + 0x68]
add edx, dword [edi + 0x1c]
cmp esi, edx
jb 0x43d138
mov ecx, dword [edi + 0x1c]
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne 0x43d138
cmp ecx, 1
je 0x437d56
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne 0x43d138
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x68]
jne case.0x4372d0.115
inc ebx
jmp 0x4372b2
mov ecx, dword [edi + 0x88]
add ecx, dword [edi + 0x68]
cmp esi, ecx
jne case.0x43e9c6.14
inc ebx
jmp 0x4372b2
mov dword [ebp + 0x10], esi
inc ebx
jmp 0x4372b2
test byte [ebp + 0x20], 2
je 0x437e20
cmp esi, dword [edi + 0x6c]
jae 0x437df6
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437dc5
mov edx, dword [ebp - 0x1c]
push edx
mov edx, dword [edi + 0x6c]
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
je 0x43d138
inc ebx
jmp 0x4372b2
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43d138
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43d138
cmp dword [edi + 0x1c], 1
je 0x437e1a
mov dl, byte [esi + 1]
cmp dl, byte [edi + 0x2d]
jne 0x43d138
inc ebx
jmp 0x4372b2
cmp dword [edi + 0x40], eax
jne case.0x4372d0.115
cmp dword [edi + 0x7c], eax
je 0x437e1a
cmp esi, dword [edi + 0x78]
jbe 0x437e1a
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
inc ebx
jmp 0x4372b2
cmp dword [edi + 0x40], eax
jne 0x43d138
cmp dword [edi + 0x50], eax
je case.0x4372d0.23
cmp esi, dword [edi + 0x6c]
jb case.0x4372d0.115
jmp 0x437dff
cmp esi, dword [edi + 0x6c]
jae 0x437e9e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437e65
mov edx, dword [ebp - 0x1c]
push edx
lea ecx, [edi + 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
push ecx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
je 0x43d138
jmp 0x437e90
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43d138
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43d138
cmp dword [edi + 0x1c], 1
je 0x437e90
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne 0x43d138
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
jne 0x43d138
cmp dword [edi + 0x7c], 0
je 0x437e1a
cmp esi, dword [edi + 0x78]
jbe 0x437e1a
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d4ab
inc ebx
jmp 0x4372b2
cmp dword [ebp - 0x1c], eax
je 0x4380b5
cmp esi, dword [edi + 0x68]
je 0x437fbe
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x437ef4
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x437ee8
cmp eax, dword [edi + 0x78]
jae 0x437efc
mov dword [edi + 0x78], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x437fa6
test cl, 0x20
jne 0x437f1c
movzx eax, byte [eax + 1]
and ecx, 0x1f
jmp 0x437f9e
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x10
jne 0x437f34
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x437f9c
test cl, 8
jne 0x437f4b
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x437f96
test cl, 4
jne 0x437f6e
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
jmp 0x437f96
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl edx, 6
and ecx, 0x3f
or ecx, edx
and eax, 0x3f
shl ecx, 6
or ecx, eax
cmp ecx, 0x100
jae 0x437fbe
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x437fbe
mov ecx, 1
jmp 0x437fc0
xor ecx, ecx
cmp esi, dword [edi + 0x6c]
jb 0x437fe8
cmp dword [edi + 0x7c], 0
je 0x437fe1
cmp esi, dword [edi + 0x78]
jbe 0x437fe1
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
xor eax, eax
jmp 0x43810f
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43809e
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43800c
and eax, 0x1f
shl eax, 6
jmp 0x43809c
test al, 0x10
jne 0x43801e
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x438096
test al, 8
jne 0x43803c
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x438096
test al, 4
jne 0x438066
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x438096
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or eax, edx
cmp eax, 0x100
jae 0x4380fb
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x4380fb
mov eax, 1
jmp 0x43810f
cmp esi, dword [edi + 0x68]
jne 0x4380be
xor ecx, ecx
jmp 0x4380da
cmp esi, dword [edi + 0x78]
ja 0x4380c9
lea eax, [esi - 1]
mov dword [edi + 0x78], eax
movzx edx, byte [esi - 1]
mov ecx, dword [edi + 0x34]
movzx ecx, byte [edx + ecx]
shr ecx, 4
and ecx, 1
cmp esi, dword [edi + 0x6c]
jb 0x4380ff
cmp dword [edi + 0x7c], 0
je 0x4380fb
cmp esi, dword [edi + 0x78]
jbe 0x4380fb
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d43f
xor eax, eax
jmp 0x43810f
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
movzx eax, byte [edx + eax]
shr eax, 4
and eax, 1
mov dl, byte [ebx]
inc ebx
cmp dl, 5
jne 0x439937
cmp eax, ecx
jne 0x4372b2
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
test eax, eax
je 0x438161
cmp esi, dword [edi + 0x6c]
jae case.0x4372d0.13
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
jne case.0x43e9c6.14
jmp case.0x4372d0.13
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja case.0x4372d0.13
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x4372d0.13
cmp dword [edi + 0x1c], 1
je case.0x43e9c6.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x43e9c6.14
mov eax, dword [edi + 0x6c]
mov edx, esi
mov ecx, 1
add esi, ecx
cmp edx, eax
jae 0x43d420
cmp dword [ebp - 0x1c], 0
je 0x4381b6
cmp esi, eax
jae 0x4381b6
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x4381b6
add esi, ecx
cmp esi, eax
jb 0x4381a6
add ebx, ecx
jmp 0x4372b2
mov ecx, esi
mov eax, 1
add esi, eax
cmp ecx, dword [edi + 0x6c]
jae 0x43d454
add ebx, eax
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d488
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4382d4
cmp eax, 0xc0
jb 0x4382d4
test al, 0x20
jne 0x438210
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4382d4
test al, 0x10
jne 0x438236
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x4382d4
test al, 8
jne 0x438265
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x4382d4
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4382a0
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x4382d4
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x437e1a
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43d138
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d488
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4383f0
cmp eax, 0xc0
jb 0x4383f0
test al, 0x20
jne 0x43832c
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4383f0
test al, 0x10
jne 0x438352
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x4383f0
test al, 8
jne 0x438381
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x4383f0
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4383bc
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x4383f0
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x43d138
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43d138
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d488
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43850c
cmp eax, 0xc0
jb 0x43850c
test al, 0x20
jne 0x438448
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43850c
test al, 0x10
jne 0x43846e
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43850c
test al, 8
jne 0x43849d
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43850c
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4384d8
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43850c
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x437e1a
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d138
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d488
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438628
cmp eax, 0xc0
jb 0x438628
test al, 0x20
jne 0x438564
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438628
test al, 0x10
jne 0x43858a
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x438628
test al, 8
jne 0x4385b9
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x438628
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4385f4
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x438628
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x43d138
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43d138
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d488
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438744
cmp eax, 0xc0
jb 0x438744
test al, 0x20
jne 0x438680
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438744
test al, 0x10
jne 0x4386a6
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x438744
test al, 8
jne 0x4386d5
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x438744
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438710
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x438744
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x437e1a
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43d138
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d488
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438860
cmp eax, 0xc0
jb 0x438860
test al, 0x20
jne 0x43879c
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438860
test al, 0x10
jne 0x4387c2
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x438860
test al, 8
jne 0x4387f1
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x438860
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43882c
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x438860
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x43d138
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43d138
inc ebx
jmp 0x4372b2
mov ecx, dword [edi + 0x6c]
cmp esi, ecx
jae 0x43d488
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438973
cmp eax, 0xc0
jb 0x438973
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x4388ba
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x438973
test al, 0x10
jne 0x4388da
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x438973
test al, 8
jne 0x438903
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x438973
test al, 4
jne 0x438938
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x438973
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0xd
ja 0x4389ac
je 0x438994
cmp eax, 0xa
je 0x437e1a
jbe 0x43d138
cmp eax, 0xc
ja 0x43d138
jmp 0x4389c9
cmp esi, ecx
jae 0x437e1a
cmp byte [esi], 0xa
jne 0x437e1a
inc esi
inc ebx
jmp 0x4372b2
cmp eax, 0x85
je 0x4389c9
cmp eax, 0x2027
jbe 0x43d138
cmp eax, 0x2029
ja 0x43d138
cmp dword [edi + 0x60], 0
jne case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d4c0
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438ad7
cmp eax, 0xc0
jb 0x438ad7
test al, 0x20
jne 0x438a13
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x438ad7
test al, 0x10
jne 0x438a39
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x438ad7
test al, 8
jne 0x438a68
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x438ad7
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x438aa3
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x438ad7
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x180e
ja 0x438b1a
je case.0x4372d0.115
cmp eax, 0xa0
ja 0x438b09
je case.0x4372d0.115
cmp eax, 9
je case.0x4372d0.115
cmp eax, 0x20
je case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp eax, 0x1680
je case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp eax, 0x205f
ja 0x438b4e
je case.0x4372d0.115
cmp eax, 0x2000
jb 0x437e1a
cmp eax, 0x200a
jbe case.0x4372d0.115
cmp eax, 0x202f
je case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp eax, 0x3000
je case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d4c0
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438c5d
cmp eax, 0xc0
jb 0x438c5d
test al, 0x20
jne 0x438b99
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438c5d
test al, 0x10
jne 0x438bbf
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x438c5d
test al, 8
jne 0x438bee
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x438c5d
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438c29
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x438c5d
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x180e
ja 0x438ca0
je 0x437e1a
cmp eax, 0xa0
ja 0x438c8f
je 0x437e1a
cmp eax, 9
je 0x437e1a
cmp eax, 0x20
jne case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp eax, 0x1680
jne case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp eax, 0x205f
ja 0x438cd4
je 0x437e1a
cmp eax, 0x2000
jb case.0x4372d0.115
cmp eax, 0x200a
jbe 0x437e1a
cmp eax, 0x202f
jne case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp eax, 0x3000
jne case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d4c0
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438de3
cmp eax, 0xc0
jb 0x438de3
test al, 0x20
jne 0x438d1f
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x438de3
test al, 0x10
jne 0x438d45
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x438de3
test al, 8
jne 0x438d74
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x438de3
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x438daf
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x438de3
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x85
ja 0x438e08
je case.0x4372d0.115
cmp eax, 0xa
jb 0x437e1a
cmp eax, 0xd
jbe case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp eax, 0x2028
jb 0x437e1a
cmp eax, 0x2029
jbe case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp esi, dword [edi + 0x6c]
jae 0x43d4c0
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438f22
cmp eax, 0xc0
jb 0x438f22
test al, 0x20
jne 0x438e5e
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438f22
test al, 0x10
jne 0x438e84
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x438f22
test al, 8
jne 0x438eb3
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x438f22
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438eee
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x438f22
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x85
ja 0x438f47
je 0x437e1a
cmp eax, 0xa
jb case.0x4372d0.115
cmp eax, 0xd
ja case.0x4372d0.115
inc ebx
jmp 0x4372b2
cmp eax, 0x2028
jb case.0x4372d0.115
cmp eax, 0x2029
ja case.0x4372d0.115
inc ebx
jmp 0x4372b2
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add eax, eax
add ebx, 3
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp + 0x18]
jge 0x438f91
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + eax*4]
lea eax, [edx + eax*4]
test ecx, ecx
js 0x438f91
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x438fa1
cmp dword [edi + 0x48], 0
je 0x438f9b
xor edx, edx
jmp 0x438fa1
mov edx, dword [edi + 0x6c]
sub edx, esi
inc edx
movzx eax, byte [ebx]
lea ecx, [eax - 0x46]
mov dword [ebp - 0x10], edx
cmp ecx, 7
ja case.default.0x438fba
movzx ecx, byte [ecx + 0x43ecbe]
jmp dword [ecx*4 + 0x43ecb6]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x486e98]
movsx eax, byte [eax + 0x486ea0]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x43902b
mov eax, SysReAllocString
mov dword [ebp - 0xc], eax
jmp 0x43902b
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
xor edx, edx
cmp byte [ebx], 0x4d
sete dl
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 3]
shl eax, 8
mov dword [ebp - 0x14], edx
movzx edx, byte [ebx + 4]
or eax, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
jne 0x439025
mov eax, SysReAllocString
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x10]
add ebx, 5
test edx, edx
je 0x4372b2
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x439075
lea ecx, [ecx]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
push eax
push edi
push ecx
push esi
push edx
call fcn.0042ebce
add esp, 0x14
test eax, eax
je 0x43d5c9
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 8]
jle 0x439042
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp ecx, eax
je 0x4372b2
cmp dword [ebp - 0x14], 0
je 0x43d51b
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x18]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e9c6.14
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
push edx
push edi
push eax
push esi
push ecx
call fcn.0042ebce
add esp, 0x14
test eax, eax
je 0x43d4d9
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x4390c2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
push eax
push edi
push ecx
push esi
push edx
call fcn.0042ebce
add esp, 0x14
test eax, eax
je 0x43d5c9
add esi, dword [ebp - 0x10]
jmp 0x4372b2
lea eax, [ebx + 1]
add ebx, 0x21
mov dword [ebp - 0x18], eax
movzx eax, byte [ebx]
lea edx, [eax - 0x46]
cmp edx, 7
ja case.default.0x439167
movzx edx, byte [edx + 0x43ecce]
jmp dword [edx*4 + 0x43ecc6]
add eax, 0xffffffba
movzx edx, al
and edx, 1
mov dword [ebp - 0x14], edx
movsx edx, byte [eax + 0x486e98]
movsx eax, byte [eax + 0x486ea0]
inc ebx
mov dword [ebp - 0xc], eax
test eax, eax
mov dword [ebp - 8], edx
mov eax, 1
jne 0x4391ef
mov dword [ebp - 0xc], SysReAllocString
jmp 0x4391ef
movzx edx, byte [ebx + 2]
xor eax, eax
cmp byte [ebx], 0x4d
sete al
mov dword [ebp - 0x14], eax
movzx eax, byte [ebx + 1]
shl eax, 8
or eax, edx
movzx edx, byte [ebx + 4]
mov dword [ebp - 8], eax
movzx eax, byte [ebx + 3]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc], eax
jne 0x4391d5
mov dword [ebp - 0xc], SysReAllocString
mov edx, dword [ebp - 8]
add ebx, 5
mov eax, 1
jmp 0x4391ef
mov eax, 1
mov edx, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
cmp dword [ebp - 0x1c], 0
je 0x439338
mov dword [ebp + 0x1c], 1
cmp edx, 1
jl 0x43937a
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x4392f5
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x439239
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x4392f2
test al, 0x10
jne 0x439259
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x4392f2
test al, 8
jne 0x439282
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x4392f2
test al, 4
jne 0x4392b7
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x4392f2
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 8]
cmp eax, 0xff
jbe 0x439307
cmp ecx, 0x4e
je 0x43d138
jmp 0x43932a
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x4372d0.115
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], edx
jle 0x439209
jmp 0x43937a
mov dword [ebp + 0x1c], eax
cmp edx, eax
jl 0x43937a
cmp esi, dword [edi + 0x6c]
jae 0x43d628
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x4372d0.115
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jle 0x43933f
mov ecx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x4372b2
cmp dword [ebp - 0x14], 0
mov dword [ebp + 0x1c], edx
je 0x43d80b
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x43d770
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x4372d0.115
cmp esi, dword [edi + 0x6c]
jae 0x43d628
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43d709
test al, 0x20
jne 0x43d645
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43d709
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
lea ecx, [ebx + 3]
add ebx, edx
mov dword [ebp - 0x18], ecx
mov cl, byte [ebx]
movzx eax, cl
lea edx, [eax - 0x46]
cmp edx, 7
ja case.default.0x43943b
movzx edx, byte [edx + 0x43ecde]
jmp dword [edx*4 + 0x43ecd6]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x486e98]
movsx eax, byte [eax + 0x486ea0]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x4394b5
mov eax, SysReAllocString
jmp 0x4394b2
movzx edx, byte [ebx + 2]
xor eax, eax
cmp cl, 0x4d
movzx ecx, byte [ebx + 1]
sete al
shl ecx, 8
or ecx, edx
movzx edx, byte [ebx + 4]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], eax
movzx eax, byte [ebx + 3]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc], eax
jne 0x4394a3
mov eax, SysReAllocString
mov dword [ebp - 0xc], eax
add ebx, 5
jmp 0x4394b5
mov eax, 1
mov ecx, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x4395ed
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4395c3
cmp eax, 0xc0
jb 0x4395c3
test al, 0x20
jne 0x4394ff
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x4395c3
test al, 0x10
jne 0x439525
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x4395c3
test al, 8
jne 0x439554
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x4395c3
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43958f
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x4395c3
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [ebp - 0x18]
push edx
push eax
call fcn.0042e2fd
add esp, 8
test eax, eax
je 0x43d138
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x4394c5
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x4372b2
cmp dword [ebp - 0x14], 0
je 0x43dbc7
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x18]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e9c6.14
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43db52
cmp eax, 0xc0
jb 0x43db52
test al, 0x20
jne 0x43da8e
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43db52
cmp dword [ebp - 0x1c], eax
je 0x4396f8
mov edx, 1
movzx ecx, byte [ebx + edx]
add ebx, edx
mov eax, edx
cmp ecx, 0xc0
jb 0x4396ca
test cl, 0x20
jne 0x4396a4
lea eax, [edx + 1]
jmp 0x4396ca
test cl, 0x10
jne 0x4396b0
mov eax, 3
jmp 0x4396ca
test cl, 8
jne 0x4396bc
mov eax, 4
jmp 0x4396ca
test cl, 4
mov eax, 0
setne al
add eax, 5
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp eax, ecx
jg 0x43ddce
test eax, eax
jle 0x4372b2
mov dl, byte [ebx]
mov cl, byte [esi]
dec eax
inc esi
inc ebx
cmp dl, cl
jne 0x43d138
test eax, eax
jle 0x4372b2
jmp 0x4396df
mov edx, dword [edi + 0x6c]
sub edx, esi
mov eax, 1
cmp edx, eax
jl 0x43de0b
mov cl, byte [esi]
add esi, eax
cmp byte [ebx + 1], cl
jne 0x43d138
add ebx, 2
jmp 0x4372b2
cmp dword [ebp - 0x1c], eax
je 0x439951
movzx eax, byte [ebx + 1]
inc ebx
mov ecx, 1
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x1c], eax
cmp eax, 0xc0
jb 0x439816
test al, 0x20
jne 0x439760
movzx edx, byte [ebx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
mov ecx, 2
jmp 0x439813
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
and ecx, 0x3f
and edx, 0x3f
test al, 0x10
jne 0x439789
and eax, 0xf
shl eax, 6
or eax, ecx
shl eax, 6
or eax, edx
mov ecx, 3
jmp 0x439813
test al, 8
jne 0x4397ad
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x439813
test al, 4
jne 0x4397dd
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
mov ecx, 5
jmp 0x439813
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 5]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
mov dword [ebp - 0x10], ecx
mov edx, dword [edi + 0x6c]
sub edx, esi
cmp ecx, edx
jg 0x43de23
movzx ecx, byte [esi]
inc esi
cmp eax, 0x80
jae 0x439853
mov eax, dword [edi + 0x30]
mov dl, byte [ecx + eax]
mov ecx, dword [ebp + 0x1c]
inc ebx
cmp byte [ecx + eax], dl
je 0x4372b2
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0xc0
jb 0x439934
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x439878
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x439934
test cl, 0x10
jne 0x439899
and ecx, 0xf
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x439934
test cl, 8
jne 0x4398c3
and ecx, 7
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x439934
test cl, 4
jne 0x4398f9
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x439934
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
add ebx, dword [ebp - 0x10]
cmp eax, ecx
je 0x4372b2
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6c]
sub ecx, esi
mov eax, 1
cmp ecx, eax
jl 0x43d454
movzx ecx, byte [esi]
mov eax, dword [edi + 0x30]
movzx edx, byte [ebx + 1]
mov cl, byte [ecx + eax]
inc esi
cmp byte [edx + eax], cl
jne case.0x4372d0.115
add ebx, 2
jmp 0x4372b2
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
mov dword [ebp - 8], eax
add ebx, 3
mov edx, 1
jmp 0x439a29
mov dword [ebp - 0x18], 1
movzx ecx, byte [ebx + 2]
mov dword [ebp - 8], eax
movzx eax, byte [ebx + 1]
shl eax, 8
xor edx, edx
or eax, ecx
cmp byte [ebx], 0x26
sete dl
add ebx, 3
mov dword [ebp - 0x14], edx
mov edx, 1
jmp 0x439a29
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], eax
add ebx, edx
jmp 0x439a24
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], edx
add ebx, edx
jmp 0x439a24
mov edx, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], edx
mov eax, edx
add ebx, edx
jmp 0x439a29
add ecx, 0xffffffe1
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x486e98]
mov dword [ebp - 8], eax
movsx eax, byte [ecx + 0x486ea0]
add ebx, edx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x439a2c
mov eax, SysReAllocString
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x1c], 0
movzx ecx, byte [ebx]
mov dword [ebp - 4], ecx
je 0x439c71
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x24], ebx
cmp ecx, 0xc0
jb 0x439b36
movzx edx, byte [ebx + 1]
and edx, 0x3f
test cl, 0x20
jne 0x439a6c
and ecx, 0x1f
shl ecx, 6
or ecx, edx
mov edx, 2
jmp 0x439b30
test cl, 0x10
jne 0x439a8f
and ecx, 0xf
shl ecx, 6
or edx, ecx
movzx ecx, byte [ebx + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, 3
jmp 0x439b30
test cl, 8
jne 0x439abb
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [ebx + 2]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 3]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, 4
jmp 0x439b30
test cl, 4
jne 0x439af3
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [ebx + 2]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 4]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, 5
jmp 0x439b30
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [ebx + 2]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 5]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, 6
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], edx
add ebx, edx
cmp edx, 1
jle 0x439c73
mov ecx, dword [ebp - 8]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x439b8c
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x43d5c9
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.004119e3
add esp, 0xc
test eax, eax
jne 0x43d5c9
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x439b50
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x4372b2
cmp dword [ebp - 0x14], 0
jne 0x43de3b
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x439bfa
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x439bd9
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.004119e3
add esp, 0xc
test eax, eax
jne 0x439bd9
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x10]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x439ba8
jmp 0x439bfa
cmp dword [edi + 0x7c], 0
je 0x439bfa
cmp esi, dword [edi + 0x6c]
jb 0x439bfa
cmp esi, dword [edi + 0x78]
jbe 0x439bfa
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
cmp dword [ebp - 0x18], 0
jne 0x4372b2
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
push 0
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
cmp esi, dword [ebp - 0x14]
je case.0x43e9c6.14
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
sub esi, dword [ebp - 0x10]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x439c35
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ebx, edx
test byte [ebp + 0x20], 1
je 0x439d87
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 8]
mov edx, 1
mov dword [ebp + 0x1c], edx
cmp ecx, edx
jl 0x439cd2
jmp 0x439ca7
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43df04
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
jne case.0x43e9c6.14
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc edx
mov dword [ebp + 0x1c], edx
cmp edx, ecx
jle 0x439ca2
cmp ecx, eax
je 0x4372b2
cmp dword [ebp - 0x14], 0
jne 0x43df28
mov dword [ebp - 0x14], esi
cmp ecx, eax
jge 0x439d2c
mov dword [ebp + 0x1c], ecx
cmp esi, dword [edi + 0x6c]
jae 0x439d10
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
jne 0x439d2c
mov ecx, dword [ebp + 0x1c]
inc ecx
inc esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jl 0x439cee
jmp 0x439d2c
cmp dword [edi + 0x7c], 0
je 0x439d2c
cmp esi, dword [edi + 0x78]
jbe 0x439d2c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
cmp dword [ebp - 0x18], 0
jne 0x4372b2
cmp esi, dword [ebp - 0x14]
jb 0x439d75
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
dec esi
test eax, eax
jne 0x43eb06
cmp esi, dword [ebp - 0x14]
jae 0x439d42
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 8]
mov dword [ebp + 0x1c], 1
cmp edx, 1
jl 0x439dbc
cmp esi, dword [edi + 0x6c]
jae 0x43d628
movzx edx, byte [esi]
inc esi
cmp ecx, edx
jne case.0x4372d0.115
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
mov ecx, dword [ebp - 4]
jle 0x439d96
cmp edx, eax
je 0x4372b2
cmp dword [ebp - 0x14], 0
mov edx, dword [ebp - 8]
mov dword [ebp + 0x1c], edx
jne 0x43dfbe
mov dword [ebp - 0x14], esi
cmp edx, eax
jge 0x439e11
cmp esi, dword [edi + 0x6c]
jae 0x439df5
movzx edx, byte [esi]
cmp ecx, edx
jne 0x439e11
mov edx, dword [ebp + 0x1c]
inc edx
inc esi
mov dword [ebp + 0x1c], edx
cmp edx, eax
jl 0x439ddb
jmp 0x439e11
cmp dword [edi + 0x7c], 0
je 0x439e11
cmp esi, dword [edi + 0x78]
jbe 0x439e11
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
cmp dword [ebp - 0x18], 0
jne 0x4372b2
cmp esi, dword [ebp - 0x14]
jb 0x439e5a
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
dec esi
test eax, eax
jne 0x43eb06
cmp esi, dword [ebp - 0x14]
jae 0x439e27
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, dword [edi + 0x6c]
jae 0x43d4c0
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x439f6a
cmp eax, 0xc0
jb 0x439f6a
test al, 0x20
jne 0x439ea6
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x439f6a
test al, 0x10
jne 0x439ecc
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x439f6a
test al, 8
jne 0x439efb
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x439f6a
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x439f36
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x439f6a
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
test byte [ebp + 0x20], 1
je 0x439fa6
cmp eax, 0x100
jae 0x439f7e
mov edx, dword [edi + 0x30]
movzx eax, byte [edx + eax]
movzx ecx, byte [ebx + 1]
mov edx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
add ebx, 2
cmp ecx, eax
jne 0x4372b2
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, byte [ebx + 1]
add ebx, 2
cmp edx, eax
jne 0x4372b2
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, ecx
add ebx, 3
jmp 0x43a06d
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
mov dword [ebp - 0xc], ecx
xor ecx, ecx
xor eax, eax
cmp byte [ebx], 0x33
sete cl
add ebx, 3
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0xc]
jmp 0x43a070
mov edx, 1
xor eax, eax
mov dword [ebp - 0x18], edx
add ebx, edx
jmp 0x43a068
mov eax, 1
mov dword [ebp - 0x18], eax
add ebx, eax
jmp 0x43a068
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x18], ecx
add ebx, ecx
jmp 0x43a06d
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
xor eax, eax
or ecx, edx
mov dword [ebp - 0x18], 1
add ebx, 3
jmp 0x43a06d
add ecx, 0xffffffd4
movzx eax, cl
and eax, 1
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x486e98]
movsx ecx, byte [ecx + 0x486ea0]
inc ebx
mov dword [ebp - 0xc], ecx
test ecx, ecx
jne 0x43a070
mov ecx, SysReAllocString
mov dword [ebp - 0xc], ecx
movzx edx, byte [ebx]
inc ebx
test byte [ebp + 0x20], 1
mov dword [ebp - 4], edx
je 0x43a47a
cmp dword [ebp - 0x1c], 0
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
mov dword [ebp - 4], ecx
mov dword [ebp + 0x1c], 1
je 0x43a1bc
cmp eax, 1
jl 0x43a1e9
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43a193
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x43a0d7
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x43a193
test cl, 0x10
jne 0x43a0f8
and ecx, 0xf
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x43a193
test cl, 8
jne 0x43a122
and ecx, 7
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x43a193
test cl, 4
jne 0x43a158
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x43a193
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
cmp ecx, 0x100
jae 0x43a1a2
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
cmp dword [ebp - 4], ecx
je case.0x43e9c6.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a0a5
jmp 0x43a1e9
cmp eax, 1
jl 0x43a1e9
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43e9c6.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a1c1
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x4372b2
cmp dword [ebp - 0x14], 0
jne 0x43e047
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43a3e2
mov dword [ebp + 0x1c], eax
cmp eax, edx
jge 0x43a356
mov eax, 1
cmp esi, dword [edi + 0x6c]
jae 0x43a33f
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x43a315
movzx eax, byte [esi + 1]
and eax, 0x3f
test cl, 0x20
jne 0x43a251
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x43a315
test cl, 0x10
jne 0x43a274
and ecx, 0xf
shl ecx, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 3
jmp 0x43a315
test cl, 8
jne 0x43a2a0
and ecx, 7
shl ecx, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 4
jmp 0x43a315
test cl, 4
jne 0x43a2d8
and ecx, 3
shl ecx, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 5
jmp 0x43a315
and ecx, 1
shl ecx, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 5]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 6
cmp ecx, 0x100
jae 0x43a327
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp - 4], ecx
je 0x43a356
add esi, eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43a216
jmp 0x43a356
cmp dword [edi + 0x7c], 0
je 0x43a356
cmp esi, dword [edi + 0x78]
jbe 0x43a356
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
cmp dword [ebp - 0x18], 0
jne 0x4372b2
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
push 0
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
nop
mov edx, esi
dec esi
cmp edx, dword [ebp - 0x14]
je 0x43a468
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a3b2
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43a3a6
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43a392
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edx
jge 0x43a41f
cmp esi, dword [edi + 0x6c]
jae 0x43a403
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
je 0x43a41f
inc eax
inc esi
cmp eax, dword [ebp - 0xc]
jl 0x43a3e6
jmp 0x43a41f
cmp dword [edi + 0x7c], 0
je 0x43a41f
cmp esi, dword [edi + 0x78]
jbe 0x43a41f
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
cmp dword [ebp - 0x18], 0
jne 0x4372b2
cmp esi, dword [ebp - 0x14]
jb 0x43a468
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43a435
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
mov edx, 1
mov dword [ebp + 0x1c], edx
je 0x43a5bd
cmp eax, edx
jl 0x43a5ec
cmp esi, dword [edi + 0x6c]
jae 0x43e25e
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43a59d
test cl, 0x20
jne 0x43a4c7
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
inc esi
jmp 0x43a59d
test cl, 0x10
jne 0x43a4ee
movzx edx, byte [esi]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x43a59d
test cl, 8
jne 0x43a521
movzx edx, byte [esi]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x43a59d
test cl, 4
jne 0x43a55d
movzx edx, byte [esi]
and ecx, 3
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x43a59d
and ecx, edx
movzx edx, byte [esi]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
cmp dword [ebp - 4], ecx
je case.0x4372d0.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a494
jmp 0x43a5e9
cmp eax, edx
jl 0x43a5ec
cmp esi, dword [edi + 0x6c]
jae 0x43e25e
movzx ecx, byte [esi]
add esi, edx
cmp dword [ebp - 4], ecx
je case.0x4372d0.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a5c1
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
je 0x4372b2
cmp dword [ebp - 0x14], 0
jne 0x43e27c
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43a7ce
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jge 0x43a73f
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43a728
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43a710
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43a64f
and eax, 0x1f
shl eax, 6
or eax, edx
mov edx, 2
jmp 0x43a710
test al, 0x10
jne 0x43a671
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 3
jmp 0x43a710
test al, 8
jne 0x43a69c
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 4
jmp 0x43a710
test al, 4
jne 0x43a6d3
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 5
jmp 0x43a710
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 6
cmp dword [ebp - 4], eax
je 0x43a73f
mov eax, dword [ebp + 0x1c]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jl 0x43a616
jmp 0x43a73f
cmp dword [edi + 0x7c], 0
je 0x43a73f
cmp esi, dword [edi + 0x78]
jbe 0x43a73f
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jg 0x43d43f
cmp dword [ebp - 0x18], 0
jne 0x4372b2
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc eax
push eax
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43a855
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43a79e
mov edi, edi
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43a792
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43a77a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
cmp eax, ecx
jge 0x43a805
cmp esi, dword [edi + 0x6c]
jae 0x43a7e9
movzx eax, byte [esi]
cmp dword [ebp - 4], eax
je 0x43a805
inc edx
inc esi
cmp edx, ecx
jl 0x43a7d4
jmp 0x43a805
cmp dword [edi + 0x7c], 0
je 0x43a805
cmp esi, dword [edi + 0x78]
jbe 0x43a805
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d43f
cmp dword [ebp - 0x18], 0
jne 0x4372b2
cmp esi, dword [ebp - 0x14]
jb 0x43a855
mov ecx, dword [ebp + 0x2c]
inc ecx
mov dword [ebp - 8], ecx
lea esp, [esp]
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43a822
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl edx, 8
or edx, ecx
mov ecx, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], 1
add ebx, 3
jmp 0x43a92a
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
xor eax, eax
xor ecx, ecx
cmp byte [ebx], 0x40
mov dword [ebp - 8], ecx
sete al
add ebx, 3
mov dword [ebp - 0x14], eax
jmp 0x43a92d
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 8], ecx
inc ebx
jmp 0x43a925
mov ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], ecx
add ebx, ecx
jmp 0x43a925
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], ecx
add ebx, edx
jmp 0x43a92a
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
xor ecx, ecx
or edx, eax
mov dword [ebp - 0x18], 1
mov dword [ebp - 8], ecx
add ebx, 3
jmp 0x43a92a
lea eax, [ecx - 0x39]
movsx edx, byte [eax + 0x486ea0]
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x486e98]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edx
test edx, edx
jne 0x43a92d
mov edx, SysReAllocString
mov dword [ebp - 0xc], edx
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x43b77d
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
je 0x43b3e9
cmp eax, 0xf
ja case.0x43e9ac.15
jmp dword [eax*4 + 0x43ece6]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43a99f
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
jne case.0x43e9c6.14
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43a9c6
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43a9c6
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43a9c6
cmp dword [edi + 0x1c], 1
je case.0x43e9c6.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x43e9c6.14
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43a9e0
lea ebx, [ebx]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a9e0
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43a9d2
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43a969
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
jmp 0x43aa02
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43db9e
inc esi
cmp esi, eax
jae 0x43aa20
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43aa20
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43aa12
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43aa02
jmp 0x43b77d
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja case.0x43e9c6.14
add esi, ecx
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43ab46
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43aa87
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43ab40
test al, 0x10
jne 0x43aaa7
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43ab40
test al, 8
jne 0x43aad0
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43ab40
test al, 4
jne 0x43ab05
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43ab40
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xd
ja 0x43ab72
je 0x43ab65
cmp dword [ebp - 4], 0xa
je 0x43ab96
mov eax, dword [ebp - 4]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x43e9c6.14
jmp 0x43ab8c
cmp esi, dword [edi + 0x6c]
jae 0x43ab96
cmp byte [esi], 0xa
jne 0x43ab96
inc esi
jmp 0x43ab96
cmp dword [ebp - 4], 0x85
je 0x43ab8c
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x43e9c6.14
cmp dword [edi + 0x60], 0
jne 0x43d138
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43aa54
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43aca9
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43abea
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43aca3
test al, 0x10
jne 0x43ac0a
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43aca3
test al, 8
jne 0x43ac33
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43aca3
test al, 4
jne 0x43ac68
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43aca3
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x180e
ja 0x43acec
je 0x43d138
cmp dword [ebp - 4], 0xa0
ja 0x43acdd
je 0x43d138
cmp dword [ebp - 4], 9
je 0x43d138
cmp dword [ebp - 4], 0x20
je 0x43d138
jmp 0x43ad2d
cmp dword [ebp - 4], 0x1680
je 0x43d138
jmp 0x43ad2d
cmp dword [ebp - 4], 0x205f
ja 0x43ad20
je 0x43d138
cmp dword [ebp - 4], 0x2000
jb 0x43ad2d
cmp dword [ebp - 4], 0x200a
jbe 0x43d138
cmp dword [ebp - 4], 0x202f
je 0x43d138
jmp 0x43ad2d
cmp dword [ebp - 4], 0x3000
je 0x43d138
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43abb7
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43ae40
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ad81
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43ae3a
test al, 0x10
jne 0x43ada1
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43ae3a
test al, 8
jne 0x43adca
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43ae3a
test al, 4
jne 0x43adff
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43ae3a
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x180e
ja 0x43ae77
je 0x43aeb4
cmp dword [ebp - 4], 0xa0
ja 0x43ae68
je 0x43aeb4
cmp dword [ebp - 4], 9
je 0x43aeb4
cmp dword [ebp - 4], 0x20
jne 0x43d138
jmp 0x43aeb4
cmp dword [ebp - 4], 0x1680
jne 0x43d138
jmp 0x43aeb4
cmp dword [ebp - 4], 0x205f
ja 0x43aea7
je 0x43aeb4
cmp dword [ebp - 4], 0x2000
jb 0x43d138
cmp dword [ebp - 4], 0x200a
jbe 0x43aeb4
cmp dword [ebp - 4], 0x202f
jne 0x43d138
jmp 0x43aeb4
cmp dword [ebp - 4], 0x3000
jne 0x43d138
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ad4e
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43afc7
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43af08
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43afc1
test al, 0x10
jne 0x43af28
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43afc1
test al, 8
jne 0x43af51
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43afc1
test al, 4
jne 0x43af86
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43afc1
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x85
ja 0x43afe8
je 0x43d138
cmp dword [ebp - 4], 0xa
jb 0x43affe
cmp dword [ebp - 4], 0xd
jbe 0x43d138
jmp 0x43affe
cmp dword [ebp - 4], 0x2028
jb 0x43affe
cmp dword [ebp - 4], 0x2029
jbe 0x43d138
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43aed5
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b111
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43b052
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b10b
test al, 0x10
jne 0x43b072
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43b10b
test al, 8
jne 0x43b09b
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43b10b
test al, 4
jne 0x43b0d0
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43b10b
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x85
ja 0x43b12d
je 0x43b13e
mov eax, dword [ebp - 4]
add eax, 0xfffffff6
cmp eax, 3
ja 0x43d138
jmp 0x43b13e
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43d138
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b01f
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b251
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43b192
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b24b
test al, 0x10
jne 0x43b1b2
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43b24b
test al, 8
jne 0x43b1db
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43b24b
test al, 4
jne 0x43b210
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43b24b
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x80
jae 0x43b26d
mov eax, dword [edi + 0x34]
mov edx, dword [ebp - 4]
test byte [edx + eax], 4
jne 0x43d138
mov edx, dword [ebp - 0xc]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b15f
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
mov al, byte [esi]
cmp al, 0x80
jae 0x43d138
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
inc esi
and al, 4
je 0x43d138
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b28e
jmp 0x43b77a
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
mov al, byte [esi]
cmp al, 0x80
jae 0x43b2f5
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne 0x43d138
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43b303
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43b2f5
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b2d3
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
mov al, byte [esi]
cmp al, 0x80
jae 0x43d138
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
je 0x43d138
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b320
jmp 0x43b77a
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
mov al, byte [esi]
cmp al, 0x80
jae 0x43b388
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 0x10
jne 0x43d138
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43b396
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43b388
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b366
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
mov al, byte [esi]
cmp al, 0x80
jae 0x43d138
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
je 0x43d138
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b3b3
jmp 0x43b77a
cmp eax, 0xf
ja case.0x43e9ac.15
jmp dword [eax*4 + 0x43ed26]
cmp ecx, 1
jl 0x43b77d
mov dword [ebp + 0x1c], 1
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b43d
mov edx, dword [edi + 0x6c]
push 0
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
jne 0x43d138
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43b464
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b464
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43b464
cmp dword [edi + 0x1c], 1
je 0x43d138
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43d138
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b409
jmp 0x43b77d
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43d5ef
add esi, ecx
jmp 0x43b77d
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43db9e
add esi, ecx
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
jmp 0x43b4b2
cmp esi, dword [edi + 0x6c]
jae 0x43d628
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x43e9c6.14
movzx eax, byte [eax + 0x43ed76]
jmp dword [eax*4 + 0x43ed66]
cmp esi, dword [edi + 0x6c]
jae case.0x43b4d2.10
cmp byte [esi], 0xa
jne case.0x43b4d2.10
inc esi
jmp case.0x43b4d2.10
cmp dword [edi + 0x60], 0
jne case.0x4372d0.115
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b4b2
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x43e9c6.14
cmp eax, 0x20
je case.0x43e9c6.14
cmp eax, 0xa0
je case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b512
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43b584
cmp eax, 0x20
je 0x43b584
cmp eax, 0xa0
jne case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b562
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43b5ca
cmp eax, 0xd
jle case.0x43e9c6.14
cmp eax, 0x85
je case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b5a4
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
jmp 0x43b5f2
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x43e9c6.14
cmp eax, 0xd
jle 0x43b618
cmp eax, 0x85
jne case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b5f2
jmp 0x43b77d
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 4
jne case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b638
jmp 0x43b77a
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 4
je case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b674
jmp 0x43b77a
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
jne case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b6af
jmp 0x43b77a
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 1
je case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b6eb
jmp 0x43b77a
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
jne case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b71f
jmp 0x43b77a
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b77d
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 0x10
je case.0x43e9c6.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b754
mov edx, dword [ebp - 0xc]
cmp ecx, edx
je 0x4372b2
cmp dword [ebp - 0x14], 0
jne 0x43e493
mov eax, dword [ebp - 0x10]
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43c68c
cmp eax, 0xf
ja case.0x43e9ac.15
jmp dword [eax*4 + 0x43edf2]
mov dword [ebp + 0x1c], ecx
cmp edx, 0x7fffffff
jge 0x43b855
cmp ecx, edx
jge 0x43c5fb
cmp esi, dword [edi + 0x6c]
jae 0x43b987
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b7fc
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
jne 0x43c5fb
mov edx, dword [ebp - 0xc]
jmp 0x43b823
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b823
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43b823
cmp dword [edi + 0x1c], 1
je 0x43c5fb
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c5fb
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43b841
lea esp, [esp]
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b841
inc esi
cmp esi, eax
jb 0x43b832
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b7c9
jmp 0x43c5fb
cmp ecx, edx
jge 0x43c5fb
jmp 0x43b862
cmp esi, dword [edi + 0x6c]
jae 0x43b8e1
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b891
mov edx, dword [ebp - 0x1c]
push edx
mov edx, dword [edi + 0x6c]
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
jne 0x43c5fb
mov edx, dword [ebp - 0xc]
jmp 0x43b8b8
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b8b8
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43b8b8
cmp dword [edi + 0x1c], 1
je 0x43c5fb
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c5fb
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43b8d1
mov edi, edi
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b8d1
inc esi
cmp esi, eax
jb 0x43b8c2
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b862
jmp 0x43c5fb
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
jmp 0x43c5fb
cmp edx, 0x7fffffff
jge 0x43b971
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43b948
inc esi
cmp esi, eax
jae 0x43b938
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b938
inc esi
cmp esi, eax
jb 0x43b929
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jl 0x43b920
jmp 0x43c5fb
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d43f
jmp 0x43c5fb
mov esi, dword [edi + 0x6c]
jmp 0x43c5fb
mov eax, dword [edi + 0x6c]
sub edx, ecx
sub eax, esi
cmp edx, eax
jbe 0x43b9b0
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d613
jmp 0x43c5fb
add esi, edx
jmp 0x43c5fb
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
mov ecx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43bb1b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43babc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43b9fb
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x43babc
test al, 0x10
jne 0x43ba1d
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x43babc
test al, 8
jne 0x43ba48
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x43babc
test al, 4
jne 0x43ba7f
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x43babc
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0xd
jne 0x43bad3
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43c5fb
cmp byte [esi], 0xa
jne 0x43bb07
inc esi
jmp 0x43bb07
cmp eax, 0xa
je 0x43bb05
cmp dword [edi + 0x60], 0
jne 0x43c5fb
cmp eax, 0xb
je 0x43bb05
cmp eax, 0xc
je 0x43bb05
cmp eax, 0x85
je 0x43bb05
cmp eax, 0x2028
je 0x43bb05
cmp eax, 0x2029
jne 0x43c5fb
add esi, ecx
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b9c2
jmp 0x43c5fb
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d473
jmp 0x43c5fb
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
mov ecx, 1
lea ecx, [ecx]
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bcc1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bc3a
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bb89
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43bc38
test al, 0x10
jne 0x43bba5
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43bc32
test al, 8
jne 0x43bbca
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 8], 4
jmp 0x43bc32
test al, 4
jne 0x43bbfb
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 8], 5
jmp 0x43bc32
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 8], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x180e
ja 0x43bc94
je 0x43bc56
cmp eax, 0xa0
ja 0x43bc89
je 0x43bc56
cmp eax, 9
je 0x43bc56
cmp eax, 0x20
jne 0x43bcbd
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x10], 0x12
sete al
cmp ecx, eax
je 0x43c5fb
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 8]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43bb52
jmp 0x43c5fb
cmp eax, 0x1680
je 0x43bc56
xor ecx, ecx
jmp 0x43bc5b
cmp eax, 0x205f
ja 0x43bcb6
je 0x43bc56
cmp eax, 0x2000
jb 0x43bcbd
cmp eax, 0x200a
jbe 0x43bc56
cmp eax, 0x202f
je 0x43bc56
xor ecx, ecx
jmp 0x43bc5b
cmp eax, 0x3000
je 0x43bc56
xor ecx, ecx
jmp 0x43bc5b
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d43f
jmp 0x43c5fb
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
mov ecx, 1
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43be31
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bddd
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bd2c
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43bddb
test al, 0x10
jne 0x43bd48
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43bdd5
test al, 8
jne 0x43bd6d
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 8], 4
jmp 0x43bdd5
test al, 4
jne 0x43bd9e
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 8], 5
jmp 0x43bdd5
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 8], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x85
ja 0x43be20
je 0x43be2a
cmp eax, 0xa
jb 0x43bdf0
cmp eax, 0xd
jbe 0x43be2a
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x10], 0x14
sete al
cmp ecx, eax
je 0x43c5fb
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 8]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43bcf5
jmp 0x43c5fb
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43bdf0
mov ecx, 1
jmp 0x43bdf2
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d613
jmp 0x43c5fb
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
mov edi, edi
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43bf7a
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bf4f
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43be9e
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43bf4d
test al, 0x10
jne 0x43beba
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43bf47
test al, 8
jne 0x43bedf
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x43bf47
test al, 4
jne 0x43bf10
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x43bf47
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x43bf63
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43c5fb
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43be62
jmp 0x43c5fb
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
jmp 0x43c5fb
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bcc1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c09a
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bfe9
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c098
test al, 0x10
jne 0x43c005
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c092
test al, 8
jne 0x43c02a
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x43c092
test al, 4
jne 0x43c05b
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x43c092
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x43c5fb
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43c5fb
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43bfb2
jmp 0x43c5fb
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
jmp 0x43c0e2
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c1fa
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c1cf
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c11e
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c1cd
test al, 0x10
jne 0x43c13a
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c1c7
test al, 8
jne 0x43c15f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x43c1c7
test al, 4
jne 0x43c190
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x43c1c7
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x43c1e3
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43c5fb
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c0e2
jmp 0x43c5fb
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d613
jmp 0x43c5fb
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c34f
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c31a
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c269
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c318
test al, 0x10
jne 0x43c285
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c312
test al, 8
jne 0x43c2aa
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x43c312
test al, 4
jne 0x43c2db
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x43c312
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x43c5fb
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43c5fb
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c232
jmp 0x43c5fb
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d473
jmp 0x43c5fb
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
lea esp, [esp]
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c49a
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c46f
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c3be
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c46d
test al, 0x10
jne 0x43c3da
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c467
test al, 8
jne 0x43c3ff
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x43c467
test al, 4
jne 0x43c430
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x43c467
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x43c483
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43c5fb
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c382
jmp 0x43c5fb
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d43f
jmp 0x43c5fb
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c5fb
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c5e4
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c5ba
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c509
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c5b8
test al, 0x10
jne 0x43c525
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c5b2
test al, 8
jne 0x43c54a
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x43c5b2
test al, 4
jne 0x43c57b
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x43c5b2
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x43c5fb
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43c5fb
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c4d2
jmp 0x43c5fb
cmp dword [edi + 0x7c], 0
je 0x43c5fb
cmp esi, dword [edi + 0x78]
jbe 0x43c5fb
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d613
cmp dword [ebp - 0x18], 0
jne 0x4372b2
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x18]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43ca96
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43c65c
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43c652
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43c636
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xf
ja case.0x43e9ac.15
jmp dword [eax*4 + 0x43ee32]
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca4d
cmp esi, dword [edi + 0x6c]
jae 0x43c70c
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43c6d4
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
jne 0x43ca4d
mov edx, dword [ebp - 0xc]
jmp 0x43c6fb
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43c6fb
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43c6fb
cmp dword [edi + 0x1c], 1
je 0x43ca4d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43ca4d
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c6a7
jmp 0x43ca4d
cmp dword [edi + 0x7c], 0
je 0x43ca4d
cmp esi, dword [edi + 0x78]
jbe 0x43ca4d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d613
jmp 0x43ca4d
sub edx, ecx
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp edx, ecx
jbe 0x43c76c
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43ca4d
cmp esi, dword [edi + 0x78]
jbe 0x43ca4d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
jmp 0x43ca4d
add esi, edx
jmp 0x43ca4d
cmp ecx, edx
jge 0x43ca4d
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43c7cf
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43c7a0
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43ca4d
cmp byte [esi], 0xa
jne 0x43c7c5
jmp 0x43c7c4
cmp eax, 0xa
je 0x43c7c4
cmp dword [edi + 0x60], 0
jne 0x43ca4d
cmp eax, 0xb
je 0x43c7c4
cmp eax, 0xc
je 0x43c7c4
cmp eax, 0x85
jne 0x43ca4d
inc esi
inc ecx
cmp ecx, edx
jl 0x43c782
jmp 0x43ca4d
cmp dword [edi + 0x7c], 0
je 0x43ca4d
cmp esi, dword [edi + 0x78]
jbe 0x43ca4d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d43f
jmp 0x43ca4d
cmp ecx, edx
jge 0x43ca4d
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43c70c
movzx eax, byte [esi]
cmp eax, 9
je 0x43ca4d
cmp eax, 0x20
je 0x43ca4d
cmp eax, 0xa0
je 0x43ca4d
inc ecx
inc esi
cmp ecx, edx
jl 0x43c802
jmp 0x43ca4d
cmp ecx, edx
jge 0x43ca4d
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43c743
movzx eax, byte [esi]
cmp eax, 9
je 0x43c863
cmp eax, 0x20
je 0x43c863
cmp eax, 0xa0
jne 0x43ca4d
inc ecx
inc esi
cmp ecx, edx
jl 0x43c842
jmp 0x43ca4d
cmp ecx, edx
jge 0x43ca4d
cmp esi, dword [edi + 0x6c]
jae 0x43c7cf
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43ca4d
cmp eax, 0xb
je 0x43ca4d
cmp eax, 0xc
je 0x43ca4d
cmp eax, 0xd
je 0x43ca4d
cmp eax, 0x85
je 0x43ca4d
inc ecx
inc esi
cmp ecx, edx
jl 0x43c876
jmp 0x43ca4d
cmp ecx, edx
jge 0x43ca4d
cmp esi, dword [edi + 0x6c]
jae 0x43c70c
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43c8ef
cmp eax, 0xb
je 0x43c8ef
cmp eax, 0xc
je 0x43c8ef
cmp eax, 0xd
je 0x43c8ef
cmp eax, 0x85
jne 0x43ca4d
inc ecx
inc esi
cmp ecx, edx
jl 0x43c8c4
jmp 0x43ca4d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca4d
cmp esi, dword [edi + 0x6c]
jae 0x43c743
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43ca4d
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c905
jmp 0x43ca4d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca4d
jmp 0x43c942
cmp esi, dword [edi + 0x6c]
jae 0x43c7cf
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43ca4d
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c942
jmp 0x43ca4d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca4d
cmp esi, dword [edi + 0x6c]
jae 0x43c70c
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43ca4d
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c977
jmp 0x43ca4d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca4d
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43c743
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43ca4d
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c9b2
jmp 0x43ca4d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca4d
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43c7cf
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43ca4d
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c9e2
jmp 0x43ca4d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca4d
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43ca31
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43ca4d
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43ca12
jmp 0x43ca4d
cmp dword [edi + 0x7c], 0
je 0x43ca4d
cmp esi, dword [edi + 0x78]
jbe 0x43ca4d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d613
cmp dword [ebp - 0x18], 0
jne 0x4372b2
cmp esi, dword [ebp - 0x14]
jb 0x43ca96
mov edx, dword [ebp + 0x2c]
inc edx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
dec esi
test eax, eax
jne 0x43eb06
cmp esi, dword [ebp - 0x14]
jae 0x43ca63
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl edx, 8
or edx, eax
cmp byte [ebx + edx + 3], 0x54
lea ebx, [ebx + edx + 3]
jne 0x43cad6
mov edi, edi
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x43cac2
add ebx, 3
cmp dword [ebp - 4], 0x63
jne 0x43ccf1
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp + 0x18]
push 2
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebx + 3]
movzx edx, byte [ebx + 4]
shl eax, 8
or eax, edx
lea edx, [eax + eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
cmp edx, dword [edi + 0x14]
jl 0x43d05b
xor eax, eax
cmp ecx, 0x61
movzx ecx, byte [ebx + 2]
setl al
dec eax
and eax, 2
mov dword [ebp + 0x28], eax
movzx eax, byte [ebx + 1]
shl eax, 8
or eax, ecx
cmp byte [eax + ebx], 0x54
jne 0x43cbc1
nop
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
add eax, ebx
push eax
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43cb9e
cmp eax, 0xfffffc1e
jne 0x43eb06
cmp dword [edi + 0x70], ebx
jne 0x43eb06
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
movzx eax, byte [ebx + ecx + 1]
add ebx, ecx
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
cmp byte [eax + ebx], 0x54
je 0x43cb52
cmp dword [ebp + 0x28], 0
jne 0x43d14a
movzx edx, byte [ebx]
movzx eax, byte [edx + 0x4861d0]
add ebx, eax
jmp 0x43ccf8
cmp byte [ebx + 3], 0x19
lea eax, [ebx + 3]
mov dword [ebp - 0x24], eax
jne 0x43cbf7
mov edx, dword [ebp + 0x20]
movzx ecx, byte [ebx + 4]
and edx, 0xfffffff8
or ecx, edx
mov dword [ebp + 0x20], ecx
cmp byte [ebx], 0x57
jne 0x43cc35
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
mov eax, dword [ebp - 0x24]
push ecx
push edx
push eax
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov ebx, dword [ebp + 0x1c]
jmp 0x43ccf1
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc ecx
push ecx
mov ecx, dword [ebp + 0x18]
push 2
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov ebx, dword [ebp - 0x24]
jmp 0x43ccf1
cmp byte [edx], 0x61
mov edx, dword [ebp + 0x2c]
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
inc edx
cmp byte [ebx], 0x57
mov dword [ebp + 0x28], eax
push edx
jne 0x43ccc0
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
add ebx, 3
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
cmp dword [ebp + 0x28], eax
jne 0x43d3c7
mov ebx, dword [ebp + 0x1c]
jmp 0x43ccf8
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
mov eax, dword [ebp + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
add ebx, 3
mov dword [ebp + 0x28], 0
mov eax, dword [edi]
mov ecx, dword [edi + 0x44]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [edi + 4]
jb 0x437288
inc dword [edi]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
inc edx
push edx
mov edx, dword [ebp + 0x24]
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x4861d0]
lea eax, [ebx + 2]
push eax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x10]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.00437262
mov ebx, eax
add esp, 0x28
cmp ebx, 0xfffffc1d
jne 0x43cd8b
mov ecx, dword [edi + 0x70]
mov edx, dword [ebp + 0x14]
push ecx
push edx
call fcn.00414d30
add esp, 8
test eax, eax
jne 0x43cd8b
mov dword [edi + 0x70], esi
lea eax, [ebx - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x9c], 0
jne 0x43cd9d
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
inc edx
push edx
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x4861d0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43cdfe
cmp eax, 0xfffffc1b
je 0x43cdfe
cmp eax, 0xfffffc1c
je 0x43cdfe
cmp eax, 0xfffffc1d
je 0x43cdfe
cmp eax, 0xfffffc1e
jne 0x43eb06
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x4861d0]
push eax
add edx, ebx
push edx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43ce56
cmp eax, 0xfffffc1e
jne 0x43eb06
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
movzx ecx, byte [ebx + 1]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43ceb4
cmp eax, 0xfffffc1e
jne 0x43eb06
add ebx, 2
mov dword [edi + 0x9c], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
inc edx
push edx
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x4861d0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43cf13
cmp eax, 0xfffffc1b
je 0x43cf13
cmp eax, 0xfffffc1e
jne 0x43eb06
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x70], esi
mov dword [edi + 0x9c], edx
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x4861d0]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43cf7b
cmp eax, 0xfffffc1b
je 0x43cf7b
cmp eax, 0xfffffc1e
jne 0x43eb06
add ebx, 2
mov dword [edi + 0x70], ebx
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
add eax, ebx
push eax
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
mov eax, dword [ebp + 0x14]
shl ecx, 8
or ecx, edx
sub ebx, ecx
mov dword [edi + 0x70], ebx
mov dword [edi + 0x9c], eax
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
movzx ecx, byte [ebx + 3]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov ecx, ebx
sub ecx, edx
add ebx, 4
mov dword [edi + 0x70], ecx
mov dword [edi + 0x9c], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x18]
mov edx, dword [eax + edx*4 + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [edi + 0x10]
sub edx, dword [ebp - 0x14]
lea eax, [eax + edx*4]
mov edx, dword [eax]
mov dword [ebp - 0x18], edx
mov edx, dword [edi + 0x84]
mov dword [ebp + 0x1c], edx
mov edx, esi
sub edx, dword [edi + 0x68]
mov dword [eax], edx
xor eax, eax
cmp ecx, 0x62
mov ecx, dword [ebp + 0x2c]
setne al
dec eax
and eax, 2
inc ecx
mov dword [ebp + 0x28], eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x4861d0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43d0ed
cmp eax, 0xfffffc1e
jne 0x43eb06
cmp dword [edi + 0x70], ebx
jne 0x43eb06
mov edx, dword [ebp + 0x1c]
mov dword [edi + 0x84], edx
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x43d0a2
mov edx, dword [ebp - 0x14]
mov esi, dword [edi + 0xc]
mov ebx, dword [ebp - 0x24]
lea ecx, [edx + edx]
mov dword [esi + ecx*4], ebx
mov esi, dword [edi + 0xc]
mov ebx, dword [ebp - 0x20]
mov dword [esi + ecx*4 + 4], ebx
mov ecx, dword [edi + 0x10]
mov esi, dword [ebp - 0x18]
sub ecx, edx
mov edx, dword [edi + 0xc]
mov dword [edx + ecx*4], esi
cmp eax, 0xfffffc1e
je 0x43d141
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
add eax, ebx
push eax
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
cmp esi, eax
jne 0x43d1b6
cmp dword [edi + 0x54], 0
jne 0x43d138
cmp dword [edi + 0x58], 0
je 0x43d1b6
mov edx, dword [edi + 0x88]
add edx, dword [edi + 0x68]
cmp eax, edx
je 0x43d138
mov edx, dword [ebp + 0x18]
neg ecx
mov dword [edi + 0x74], esi
sbb ecx, ecx
mov dword [edi + 0x80], edx
and ecx, 0xfffffc18
mov dword [edi + 0x70], eax
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add eax, dword [edi + 0x64]
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x64]
jne 0x43d203
mov dword [ebp - 0x38], 0
jmp 0x43d213
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov dword [ebp - 0x38], edx
mov ecx, dword [edi + 0x94]
mov dword [ebp - 0x3c], ecx
lea edx, [ebp - 0x3c]
mov dword [edi + 0x94], edx
add ebx, 3
mov dword [ebp - 0x34], ebx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x1e
jg 0x43d241
lea eax, [ebp - 0x120]
mov dword [ebp - 0x30], eax
jmp 0x43d268
lea eax, [ecx*4]
push eax
call dword [0x491490]
add esp, 4
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x43d265
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x2c]
mov edx, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00410e60
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x28], eax
mov al, byte [ecx]
add esp, 0xc
cmp al, 0x61
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 2
inc edx
mov dword [ebp + 0x28], ecx
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x28]
push ecx
mov ecx, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edi
push ecx
mov ecx, dword [ebp + 0x10]
push edx
movzx edx, al
movzx eax, byte [edx + 0x4861d0]
add eax, dword [ebp + 0x1c]
push ecx
push eax
push esi
call fcn.00437262
add esp, 0x28
mov dword [ebp - 0x24], eax
cmp eax, 1
je 0x43d392
cmp eax, 0xfffffc19
je 0x43d392
test eax, eax
je 0x43d2f8
cmp eax, 0xfffffc1e
jne 0x43d36d
cmp dword [edi + 0x70], ebx
jne 0x43d36d
lea ecx, [ebp - 0x3c]
mov dword [edi + 0x94], ecx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
lea eax, [edx*4]
mov edx, dword [edi + 0xc]
push eax
push ecx
push edx
call fcn.00410e60
mov eax, dword [ebp + 0x1c]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [ebp + 0x1c], eax
mov al, byte [eax]
add esp, 0xc
cmp al, 0x54
je 0x43d299
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x120]
cmp eax, ecx
je case.0x43e9c6.14
push eax
call dword [0x491494]
add esp, 4
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x120]
cmp ecx, edx
je 0x43eb06
push ecx
call dword [0x491494]
mov eax, dword [ebp - 0x24]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x120]
cmp eax, ecx
je 0x43d3b2
push eax
call dword [0x491494]
add esp, 4
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00437262
add esp, 0x28
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x74], esi
mov dword [edi + 0x80], edx
mov dword [edi + 0x70], eax
mov dword [edi + 0x9c], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x4372d0.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372d0.115
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jle case.0x4372d0.115
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x43d138
cmp esi, dword [edi + 0x78]
jbe 0x43d138
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x43d138
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], eax
je case.0x43e9c6.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e9c6.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43e9c6.14
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], eax
je 0x43d138
cmp esi, dword [edi + 0x78]
jbe 0x43d138
mov eax, 1
jmp 0x43d467
cmp dword [edi + 0x7c], 0
je case.0x4372d0.115
cmp esi, dword [edi + 0x6c]
jb case.0x4372d0.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372d0.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x4372d0.115
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x43d576
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
push edx
push edi
push eax
push esi
push ecx
call fcn.0042ebce
add esp, 0x14
test eax, eax
je 0x43d550
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43d525
jmp 0x43d571
cmp dword [edi + 0x7c], 0
je 0x43d571
cmp esi, dword [edi + 0x6c]
jb 0x43d571
cmp esi, dword [edi + 0x78]
jbe 0x43d571
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d473
cmp esi, dword [ebp - 0x14]
jb case.0x4372d0.115
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
jmp 0x43d582
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x43d582
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x43d138
cmp esi, dword [edi + 0x6c]
jb 0x43d138
cmp esi, dword [edi + 0x78]
jbe 0x43d138
mov eax, 1
jmp 0x43d467
cmp dword [edi + 0x7c], 0
je case.0x43e9c6.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e9c6.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43e9c6.14
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x43d138
cmp esi, dword [edi + 0x78]
jbe 0x43d138
mov eax, 1
jmp 0x43d467
test al, 0x10
jne 0x43d66b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43d709
test al, 8
jne 0x43d69a
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43d709
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43d6d5
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43d709
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0xff
jbe 0x43d71c
cmp dword [ebp - 4], 0x4e
je case.0x4372d0.115
jmp 0x43d739
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x43e9c6.14
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x4393d2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
jmp 0x43d7a2
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x4372d0.115
cmp esi, dword [edi + 0x6c]
jae 0x43d628
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x4372d0.115
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43d7a2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43d9ec
cmp edx, dword [ebp - 0xc]
jge 0x43d964
mov eax, 1
mov dword [ebp - 0x20], eax
cmp esi, dword [edi + 0x6c]
jae 0x43d94d
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43d90e
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43d85d
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x20], 2
jmp 0x43d90c
test al, 0x10
jne 0x43d879
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x20], 3
jmp 0x43d906
test al, 8
jne 0x43d89e
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x20], 4
jmp 0x43d906
test al, 4
jne 0x43d8cf
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x20], 5
jmp 0x43d906
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x20], 6
shl edx, 6
and eax, 0x3f
or eax, edx
cmp eax, 0xff
jbe 0x43d91c
cmp ecx, 0x4e
je 0x43d964
jmp 0x43d938
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x43d964
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x20]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43d821
jmp 0x43d964
cmp dword [edi + 0x7c], 0
je 0x43d964
cmp esi, dword [edi + 0x78]
jbe 0x43d964
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d613
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x18]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43da7c
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43d9bc
lea esp, [esp]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43d9b2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43d995
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, dword [ebp - 0xc]
jge 0x43da42
cmp esi, dword [edi + 0x6c]
jae 0x43da21
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x43da3d
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43d9f1
jmp 0x43da3d
cmp dword [edi + 0x7c], 0
je 0x43da3d
cmp esi, dword [edi + 0x78]
jbe 0x43da3d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d613
cmp esi, dword [ebp - 0x14]
jb 0x43da7c
mov edx, dword [ebp + 0x2c]
inc edx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43da49
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, 0x10
jne 0x43dab4
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43db52
test al, 8
jne 0x43dae3
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43db52
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43db1e
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43db52
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov ecx, dword [ebp - 0x18]
push ecx
push eax
call fcn.0042e2fd
add esp, 8
test eax, eax
je case.0x43e9c6.14
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x439636
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x4372d0.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372d0.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x4372d0.115
jmp 0x43d43f
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x43dd3d
mov ecx, 1
mov dword [ebp - 0x20], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43dd26
cmp dword [ebp - 0x1c], 0
movzx eax, byte [esi]
je 0x43dcfa
cmp eax, 0xc0
jb 0x43dcfa
test al, 0x20
jne 0x43dc15
movzx ecx, byte [esi + 1]
and eax, 0x1f
mov dword [ebp - 0x20], 2
jmp 0x43dcf2
test al, 0x10
jne 0x43dc40
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
mov dword [ebp - 0x20], 3
jmp 0x43dcfa
test al, 8
jne 0x43dc75
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
mov dword [ebp - 0x20], 4
jmp 0x43dcf8
test al, 4
jne 0x43dcb5
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and eax, 3
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x20], 5
jmp 0x43dcfa
movzx edx, byte [esi + 1]
and eax, ecx
movzx ecx, byte [esi + 3]
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or eax, edx
mov dword [ebp - 0x20], 6
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov edx, dword [ebp - 0x18]
push edx
push eax
call fcn.0042e2fd
add esp, 8
test eax, eax
je 0x43dd3d
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x20]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43dbda
jmp 0x43dd3d
cmp dword [edi + 0x7c], 0
je 0x43dd3d
cmp esi, dword [edi + 0x78]
jbe 0x43dd3d
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d43f
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc eax
push eax
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
lea esp, [esp]
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43d138
cmp dword [ebp - 0x1c], 0
je 0x43dd9e
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43dd9e
lea esp, [esp]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43dd92
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43dd72
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x43e9c6.14
cmp esi, dword [edi + 0x6c]
jb case.0x43e9c6.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e9c6.14
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x43e9c6.14
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x43e9c6.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e9c6.14
jmp 0x43d607
cmp dword [edi + 0x7c], 0
je case.0x43e9c6.14
cmp esi, dword [edi + 0x6c]
jb case.0x43e9c6.14
jmp 0x43d5f9
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x18]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e9c6.14
mov edx, dword [edi + 0x6c]
sub edx, dword [ebp - 0x10]
cmp esi, edx
ja 0x43ded2
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
push eax
push ecx
push esi
call fcn.004119e3
add esp, 0xc
test eax, eax
jne 0x43ded2
mov edx, dword [ebp - 8]
mov ecx, dword [ebp + 0x20]
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43de72
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x4372d0.115
cmp esi, dword [edi + 0x6c]
jb case.0x4372d0.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372d0.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x4372d0.115
jmp 0x43d43f
cmp dword [edi + 0x7c], 0
je case.0x4372d0.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372d0.115
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x4372d0.115
jmp 0x43d43f
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
inc eax
push eax
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
lea ecx, [ecx]
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x4372d0.115
cmp esi, dword [edi + 0x6c]
jae 0x43d628
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
jne case.0x4372d0.115
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43df62
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
push 0
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
lea ecx, [ecx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x4372d0.115
cmp esi, dword [edi + 0x6c]
jae 0x43d628
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 4], eax
jne case.0x4372d0.115
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43dff2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x43e1d3
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge 0x43d138
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e185
test al, 0x20
jne 0x43e0c1
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43e185
test al, 0x10
jne 0x43e0e7
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x43e185
test al, 8
jne 0x43e116
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43e185
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43e151
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43e185
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x100
jae 0x43e193
mov edx, dword [edi + 0x30]
movzx eax, byte [eax + edx]
cmp dword [ebp - 4], eax
je 0x43d138
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43e085
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
jmp 0x43e202
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x4372d0.115
cmp esi, dword [edi + 0x6c]
jae 0x43d628
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
je case.0x4372d0.115
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43e202
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x43d138
cmp esi, dword [edi + 0x78]
jbe 0x43d138
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jmp 0x43d46d
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x43e402
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
jmp 0x43e2c2
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43d138
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e3c2
test al, 0x20
jne 0x43e2fe
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e3c2
test al, 0x10
jne 0x43e324
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43e3c2
test al, 8
jne 0x43e353
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43e3c2
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e38e
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43e3c2
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp dword [ebp - 4], eax
je 0x43d138
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43e2c2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
jmp 0x43e432
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x43e9c6.14
cmp esi, dword [edi + 0x6c]
jae 0x43db9e
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43e9c6.14
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43e432
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
je 0x43e8f5
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
inc eax
push eax
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge 0x43d138
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
cmp dword [ebp - 0x10], 0xc
jne 0x43e53d
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43e516
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
jne 0x43d138
jmp 0x43e53d
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43e53d
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e53d
cmp dword [edi + 0x1c], 1
je 0x43d138
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d138
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e628
test al, 0x20
jne 0x43e564
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e628
test al, 0x10
jne 0x43e58a
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43e628
test al, 8
jne 0x43e5b9
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43e628
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e5f4
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43e628
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x43e9ac.15
jmp dword [ecx*4 + 0x43ee72]
cmp eax, 0xd
ja 0x43e677
je 0x43e65f
cmp eax, 0xa
je case.0x43e637.12
jbe case.0x4372d0.115
cmp eax, 0xc
ja case.0x4372d0.115
jmp 0x43e694
cmp esi, dword [edi + 0x6c]
jae case.0x43e637.12
cmp byte [esi], 0xa
jne case.0x43e637.12
inc esi
jmp case.0x43e637.12
cmp eax, 0x85
je 0x43e694
cmp eax, 0x2027
jbe case.0x4372d0.115
cmp eax, 0x2029
ja case.0x4372d0.115
cmp dword [edi + 0x60], 0
jne case.0x43e9c6.14
jmp case.0x43e637.12
cmp eax, 0x180e
ja 0x43e6e4
je 0x43d138
cmp eax, 0xa0
ja 0x43e6d4
je 0x43d138
cmp eax, 9
je 0x43d138
cmp eax, 0x20
je 0x43d138
jmp case.0x43e637.12
cmp eax, 0x1680
je 0x43d138
jmp case.0x43e637.12
cmp eax, 0x205f
ja 0x43e717
je 0x43d138
cmp eax, 0x2000
jb case.0x43e637.12
cmp eax, 0x200a
jbe 0x43d138
cmp eax, 0x202f
je 0x43d138
jmp case.0x43e637.12
cmp eax, 0x3000
je 0x43d138
jmp case.0x43e637.12
cmp eax, 0x180e
ja 0x43e768
je case.0x43e637.12
cmp eax, 0xa0
ja 0x43e758
je case.0x43e637.12
cmp eax, 9
je case.0x43e637.12
cmp eax, 0x20
jne case.0x4372d0.115
jmp case.0x43e637.12
cmp eax, 0x1680
jne case.0x4372d0.115
jmp case.0x43e637.12
cmp eax, 0x205f
ja 0x43e79b
je case.0x43e637.12
cmp eax, 0x2000
jb case.0x4372d0.115
cmp eax, 0x200a
jbe case.0x43e637.12
cmp eax, 0x202f
jne case.0x4372d0.115
jmp case.0x43e637.12
cmp eax, 0x3000
jne case.0x4372d0.115
jmp case.0x43e637.12
cmp eax, 0x85
ja 0x43e7cf
je case.0x43e9c6.14
cmp eax, 0xa
jb case.0x43e637.12
cmp eax, 0xd
jbe case.0x43e9c6.14
jmp case.0x43e637.12
cmp eax, 0x2028
jb case.0x43e637.12
cmp eax, 0x2029
jbe case.0x43e9c6.14
jmp case.0x43e637.12
cmp eax, 0x85
ja 0x43e80e
je case.0x43e637.12
cmp eax, 0xa
jb 0x43d138
cmp eax, 0xd
ja 0x43d138
jmp case.0x43e637.12
cmp eax, 0x2028
jb 0x43d138
cmp eax, 0x2029
ja 0x43d138
jmp case.0x43e637.12
cmp eax, 0x100
jae case.0x43e637.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4372d0.115
jmp case.0x43e637.12
cmp eax, 0x100
jae case.0x43e9c6.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43e9c6.14
jmp case.0x43e637.12
cmp eax, 0x100
jae case.0x43e637.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d138
jmp case.0x43e637.12
cmp eax, 0x100
jae case.0x4372d0.115
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4372d0.115
jmp case.0x43e637.12
cmp eax, 0x100
jae case.0x43e637.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43e9c6.14
jmp case.0x43e637.12
cmp eax, 0x100
jae 0x43d138
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43d138
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43e4d4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x18]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
jne 0x43eb06
lea ebx, [ebx]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43d138
cmp esi, dword [edi + 0x6c]
jae 0x43d5ef
cmp dword [ebp - 0x10], 0xc
jne 0x43e999
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43e972
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e9b5
add esp, 0x14
test eax, eax
jne 0x43d138
jmp 0x43e999
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43e999
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e999
cmp dword [edi + 0x1c], 1
je 0x43d138
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d138
mov ecx, dword [ebp - 0x10]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x43e9ac.15
jmp dword [ecx*4 + 0x43eeb2]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x43e9c6.14
movzx edx, byte [eax + 0x43ef02]
jmp dword [edx*4 + 0x43eef2]
cmp esi, dword [edi + 0x6c]
jae case.0x43e9ac.12
cmp byte [esi], 0xa
jne case.0x43e9ac.12
inc esi
jmp case.0x43e9ac.12
cmp dword [edi + 0x60], 0
jne case.0x4372d0.115
jmp case.0x43e9ac.12
cmp eax, 9
je 0x43d138
cmp eax, 0x20
je 0x43d138
cmp eax, 0xa0
je 0x43d138
jmp case.0x43e9ac.12
cmp eax, 9
je case.0x43e9ac.12
cmp eax, 0x20
je case.0x43e9ac.12
cmp eax, 0xa0
jne case.0x4372d0.115
jmp case.0x43e9ac.12
cmp eax, 0xa
jb case.0x43e9ac.12
cmp eax, 0xd
jbe case.0x43e9c6.14
cmp eax, 0x85
je case.0x43e9c6.14
jmp case.0x43e9ac.12
cmp eax, 0xa
jb 0x43d138
cmp eax, 0xd
jbe case.0x43e9ac.12
cmp eax, 0x85
jne 0x43d138
jmp case.0x43e9ac.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4372d0.115
jmp case.0x43e9ac.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43e9c6.14
jmp case.0x43e9ac.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d138
jmp case.0x43e9ac.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4372d0.115
jmp case.0x43e9ac.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43e9c6.14
jmp case.0x43e9ac.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43d138
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.00437262
add esp, 0x28
test eax, eax
je 0x43e932
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret