Function at 0x436f5e
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 0x43ca05
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 0x43ca13
test byte [ebp + 0x28], 2
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x20], edx
je 0x436fae
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.0x436fcc.15
movzx edx, byte [ecx + 0x43e93a]
jmp dword [edx*4 + 0x43e80a]
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 0x4370a7
cmp dword [0x4a7f20], 0
je 0x4370a4
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.0x43e6c2.14
js 0x43e802
add ebx, 6
movzx ecx, byte [ebx + 3]
lea eax, [ebx + 3]
cmp ecx, 0x66
je 0x4372ab
cmp ecx, 0x67
je 0x4372ab
cmp ecx, 0x64
je 0x437130
cmp ecx, 0x65
je 0x437130
cmp ecx, 0x68
jne 0x4370e3
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
jmp 0x43729a
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.00436f5e
add esp, 0x28
cmp eax, 1
je 0x43c7a4
test eax, eax
je 0x437128
cmp eax, 0xfffffc1e
jne 0x43e802
cmp dword [edi + 0x70], ebx
jne 0x43e802
add ebx, dword [ebp + 0x1c]
jmp 0x43729a
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 0x437151
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x437406
mov dword [ebp - 0x18], 0
cmp ecx, 0x65
jne 0x437281
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 0x4371a1
jmp 0x43717e
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [ebp - 0x24]
je 0x43719e
mov eax, dword [ebp + 0x1c]
add ecx, dword [edi + 0x24]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x43717e
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x437281
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x43720d
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.00414ee0
add esp, 8
test eax, eax
jne 0x43720d
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 0x437201
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x437406
mov dword [ebp - 0x18], 0
cmp ecx, dword [edi + 0x28]
ja 0x4371be
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 0x437281
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.00414ee0
add esp, 8
test eax, eax
jne 0x437281
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 0x43726e
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x437406
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x43722e
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 0x43c7d2
cmp byte [ebx], 0x54
je 0x43c7d2
add ebx, 3
jmp 0x436fae
cmp dword [edi + 0x94], 0
jne 0x4372c5
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
jmp 0x43729a
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 0x437406
mov edx, dword [edi + 0x94]
cmp eax, dword [edx + 4]
je 0x437406
mov dword [ebp - 0x18], 0
cmp ecx, 0x67
jne 0x437281
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x1c], ecx
cmp dword [edi + 0x20], ecx
jle 0x437331
lea ecx, [ecx]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
cmp ecx, dword [ebp - 0x24]
je 0x43732e
mov ecx, dword [ebp + 0x1c]
add eax, dword [edi + 0x24]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, dword [edi + 0x20]
jl 0x43730e
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x437281
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x437394
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.00414ee0
add esp, 8
test eax, eax
jne 0x437394
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 0x437406
mov dword [ebp - 0x18], 0
cmp eax, dword [edi + 0x28]
ja 0x43734e
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 0x437281
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.00414ee0
add esp, 8
test eax, eax
jne 0x437281
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 0x437406
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x4373b3
jmp 0x437281
mov dword [ebp - 0x18], 1
mov eax, 3
jmp 0x43728e
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 0x437441
mov dword [edi + 0x38], 1
add ebx, 3
jmp 0x436fae
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 0x437466
add ecx, 2
mov dword [ebp + 0x18], ecx
add ebx, 3
jmp 0x436fae
cmp dword [edi + 0x94], eax
je 0x43ce92
mov ebx, dword [edi + 0x94]
cmp dword [ebx + 4], eax
jne 0x43ce92
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.00416790
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 0x436fae
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x20], eax
add ebx, 2
jmp 0x436fae
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.00436f5e
add esp, 0x28
cmp eax, 1
je 0x43752f
cmp eax, 0xfffffc19
je 0x43752f
test eax, eax
je 0x437519
cmp eax, 0xfffffc1e
jne 0x43e802
cmp dword [edi + 0x70], ebx
jne 0x43e802
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.0x436fcc.88
jmp 0x437535
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
cmp byte [ebx], 0x55
je case.0x43e6c2.14
test byte [ebp + 0x28], 1
jne 0x43d0b7
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 0x43754e
mov edx, dword [edi + 0x80]
add ebx, 3
mov dword [ebp + 0x18], edx
jmp 0x436fae
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.00436f5e
add esp, 0x28
cmp eax, 1
je 0x43ce34
cmp eax, 0xfffffc19
je 0x43ce34
cmp eax, 0xfffffc1c
je 0x4375f1
cmp eax, 0xfffffc1b
je 0x4375f1
cmp eax, 0xfffffc1a
je 0x4375f1
test eax, eax
je 0x4375db
cmp eax, 0xfffffc1e
jne 0x43e802
cmp dword [edi + 0x70], ebx
jne 0x43e802
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.0x436fcc.89
jmp 0x437605
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x4375f1
test byte [ebp + 0x28], 1
jne 0x43d0b7
add ebx, 3
jmp 0x436fae
cmp dword [ebp - 0x1c], eax
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 1]
je 0x437654
shl eax, 8
or eax, ecx
jle 0x437664
mov ecx, dword [edi + 0x68]
dec esi
dec eax
cmp esi, ecx
jb case.0x436fcc.115
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43764e
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x437642
test eax, eax
jg 0x43762e
jmp 0x437664
shl eax, 8
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x68]
jb case.0x43e6c2.14
cmp esi, dword [edi + 0x78]
jae 0x43766c
mov dword [edi + 0x78], esi
add ebx, 3
jmp 0x436fae
cmp dword [0x4a7f20], eax
je 0x43770c
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 0x43ce34
js 0x43e802
add ebx, 6
jmp 0x436fae
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.00436f5e
add esp, 0x28
cmp eax, 1
je 0x43777a
test eax, eax
je 0x437764
cmp eax, 0xfffffc1e
jne 0x43e802
cmp dword [edi + 0x70], ebx
jne 0x43e802
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x43771e
jmp 0x437780
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
mov al, byte [ebx]
cmp al, 0x5d
je 0x43778e
cmp al, 0x54
jne 0x43d2bc
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x43778e
cmp byte [ebx], 0x55
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x74]
mov dword [ebp + 0x18], edx
je 0x4377bc
cmp esi, dword [ebp - 0x18]
jne 0x43c8d8
add ebx, 3
jmp 0x436fae
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.0x436fcc.84
jmp 0x436fae
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
jmp 0x43781e
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
cmp byte [ebx], 0x54
je 0x43781e
add ebx, 3
jmp 0x436fae
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 0x43783e
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
jmp 0x436fae
inc ebx
jmp 0x43788e
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x43788e
add ebx, 3
jmp 0x436fae
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 0x4378d7
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 0x4378de
mov dword [ebp - 0x18], 0
cmp al, 0x58
je 0x43d0f5
cmp al, 0x59
je 0x43d0f5
cmp al, 0x5a
je 0x43d0f5
cmp al, 0x5b
je 0x43d0f5
cmp al, 0x5d
je 0x43d0f5
cmp al, 0x5f
je 0x437912
cmp al, 0x62
jne 0x4379ae
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 0x437939
mov dword [edi + 0x38], 1
jmp 0x437964
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 0x437964
add ecx, 2
mov dword [ebp + 0x18], ecx
cmp dword [edi + 0x94], 0
je 0x4379ae
mov ecx, dword [edi + 0x94]
cmp dword [ecx + 4], eax
jne 0x4379ae
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.00411000
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 0x436fae
cmp byte [ebx], 0x55
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x20], eax
je 0x4379c2
cmp esi, dword [ebp - 0x18]
jne 0x43c96a
add ebx, 3
jmp 0x436fae
cmp dword [edi + 0x3c], eax
je 0x4379d8
cmp esi, dword [edi + 0x68]
je case.0x43e6c2.14
test byte [ebp + 0x20], 2
je case.0x436fcc.1
mov ecx, dword [edi + 0x68]
cmp esi, ecx
je 0x437a52
cmp esi, dword [edi + 0x6c]
je 0x43ce34
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437a21
cmp esi, ecx
jbe 0x43ce34
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.0042ee14
add esp, 0x14
test eax, eax
je 0x43ce34
inc ebx
jmp 0x436fae
mov edx, dword [edi + 0x68]
add edx, dword [edi + 0x1c]
cmp esi, edx
jb 0x43ce34
mov ecx, dword [edi + 0x1c]
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne 0x43ce34
cmp ecx, 1
je 0x437a52
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne 0x43ce34
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x68]
jne case.0x436fcc.115
inc ebx
jmp 0x436fae
mov ecx, dword [edi + 0x88]
add ecx, dword [edi + 0x68]
cmp esi, ecx
jne case.0x43e6c2.14
inc ebx
jmp 0x436fae
mov dword [ebp + 0x10], esi
inc ebx
jmp 0x436fae
test byte [ebp + 0x20], 2
je 0x437b1c
cmp esi, dword [edi + 0x6c]
jae 0x437af2
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437ac1
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.0042efe8
add esp, 0x14
test eax, eax
je 0x43ce34
inc ebx
jmp 0x436fae
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43ce34
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43ce34
cmp dword [edi + 0x1c], 1
je 0x437b16
mov dl, byte [esi + 1]
cmp dl, byte [edi + 0x2d]
jne 0x43ce34
inc ebx
jmp 0x436fae
cmp dword [edi + 0x40], eax
jne case.0x436fcc.115
cmp dword [edi + 0x7c], eax
je 0x437b16
cmp esi, dword [edi + 0x78]
jbe 0x437b16
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
inc ebx
jmp 0x436fae
cmp dword [edi + 0x40], eax
jne 0x43ce34
cmp dword [edi + 0x50], eax
je case.0x436fcc.23
cmp esi, dword [edi + 0x6c]
jb case.0x436fcc.115
jmp 0x437afb
cmp esi, dword [edi + 0x6c]
jae 0x437b9a
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437b61
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.0042efe8
add esp, 0x14
test eax, eax
je 0x43ce34
jmp 0x437b8c
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43ce34
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43ce34
cmp dword [edi + 0x1c], 1
je 0x437b8c
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne 0x43ce34
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
jne 0x43ce34
cmp dword [edi + 0x7c], 0
je 0x437b16
cmp esi, dword [edi + 0x78]
jbe 0x437b16
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d1a7
inc ebx
jmp 0x436fae
cmp dword [ebp - 0x1c], eax
je 0x437db1
cmp esi, dword [edi + 0x68]
je 0x437cba
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x437bf0
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x437be4
cmp eax, dword [edi + 0x78]
jae 0x437bf8
mov dword [edi + 0x78], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x437ca2
test cl, 0x20
jne 0x437c18
movzx eax, byte [eax + 1]
and ecx, 0x1f
jmp 0x437c9a
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x10
jne 0x437c30
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x437c98
test cl, 8
jne 0x437c47
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x437c92
test cl, 4
jne 0x437c6a
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 0x437c92
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 0x437cba
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x437cba
mov ecx, 1
jmp 0x437cbc
xor ecx, ecx
cmp esi, dword [edi + 0x6c]
jb 0x437ce4
cmp dword [edi + 0x7c], 0
je 0x437cdd
cmp esi, dword [edi + 0x78]
jbe 0x437cdd
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
xor eax, eax
jmp 0x437e0b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x437d9a
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x437d08
and eax, 0x1f
shl eax, 6
jmp 0x437d98
test al, 0x10
jne 0x437d1a
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x437d92
test al, 8
jne 0x437d38
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 0x437d92
test al, 4
jne 0x437d62
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 0x437d92
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 0x437df7
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x437df7
mov eax, 1
jmp 0x437e0b
cmp esi, dword [edi + 0x68]
jne 0x437dba
xor ecx, ecx
jmp 0x437dd6
cmp esi, dword [edi + 0x78]
ja 0x437dc5
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 0x437dfb
cmp dword [edi + 0x7c], 0
je 0x437df7
cmp esi, dword [edi + 0x78]
jbe 0x437df7
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d13b
xor eax, eax
jmp 0x437e0b
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 0x439633
cmp eax, ecx
jne 0x436fae
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 0x437e5d
cmp esi, dword [edi + 0x6c]
jae case.0x436fcc.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.0042efe8
add esp, 0x14
test eax, eax
jne case.0x43e6c2.14
jmp case.0x436fcc.13
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja case.0x436fcc.13
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x436fcc.13
cmp dword [edi + 0x1c], 1
je case.0x43e6c2.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x43e6c2.14
mov eax, dword [edi + 0x6c]
mov edx, esi
mov ecx, 1
add esi, ecx
cmp edx, eax
jae 0x43d11c
cmp dword [ebp - 0x1c], 0
je 0x437eb2
cmp esi, eax
jae 0x437eb2
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x437eb2
add esi, ecx
cmp esi, eax
jb 0x437ea2
add ebx, ecx
jmp 0x436fae
mov ecx, esi
mov eax, 1
add esi, eax
cmp ecx, dword [edi + 0x6c]
jae 0x43d150
add ebx, eax
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d184
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x437fd0
cmp eax, 0xc0
jb 0x437fd0
test al, 0x20
jne 0x437f0c
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x437fd0
test al, 0x10
jne 0x437f32
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 0x437fd0
test al, 8
jne 0x437f61
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 0x437fd0
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x437f9c
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 0x437fd0
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 0x437b16
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43ce34
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d184
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4380ec
cmp eax, 0xc0
jb 0x4380ec
test al, 0x20
jne 0x438028
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4380ec
test al, 0x10
jne 0x43804e
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 0x4380ec
test al, 8
jne 0x43807d
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 0x4380ec
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4380b8
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 0x4380ec
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 0x43ce34
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43ce34
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d184
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438208
cmp eax, 0xc0
jb 0x438208
test al, 0x20
jne 0x438144
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438208
test al, 0x10
jne 0x43816a
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 0x438208
test al, 8
jne 0x438199
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 0x438208
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4381d4
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 0x438208
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 0x437b16
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43ce34
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d184
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438324
cmp eax, 0xc0
jb 0x438324
test al, 0x20
jne 0x438260
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438324
test al, 0x10
jne 0x438286
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 0x438324
test al, 8
jne 0x4382b5
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 0x438324
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4382f0
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 0x438324
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 0x43ce34
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43ce34
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d184
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438440
cmp eax, 0xc0
jb 0x438440
test al, 0x20
jne 0x43837c
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438440
test al, 0x10
jne 0x4383a2
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 0x438440
test al, 8
jne 0x4383d1
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 0x438440
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43840c
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 0x438440
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 0x437b16
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43ce34
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d184
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43855c
cmp eax, 0xc0
jb 0x43855c
test al, 0x20
jne 0x438498
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43855c
test al, 0x10
jne 0x4384be
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 0x43855c
test al, 8
jne 0x4384ed
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 0x43855c
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438528
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 0x43855c
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 0x43ce34
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43ce34
inc ebx
jmp 0x436fae
mov ecx, dword [edi + 0x6c]
cmp esi, ecx
jae 0x43d184
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43866f
cmp eax, 0xc0
jb 0x43866f
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x4385b6
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43866f
test al, 0x10
jne 0x4385d6
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 0x43866f
test al, 8
jne 0x4385ff
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 0x43866f
test al, 4
jne 0x438634
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 0x43866f
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 0x4386a8
je 0x438690
cmp eax, 0xa
je 0x437b16
jbe 0x43ce34
cmp eax, 0xc
ja 0x43ce34
jmp 0x4386c5
cmp esi, ecx
jae 0x437b16
cmp byte [esi], 0xa
jne 0x437b16
inc esi
inc ebx
jmp 0x436fae
cmp eax, 0x85
je 0x4386c5
cmp eax, 0x2027
jbe 0x43ce34
cmp eax, 0x2029
ja 0x43ce34
cmp dword [edi + 0x60], 0
jne case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d1bc
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4387d3
cmp eax, 0xc0
jb 0x4387d3
test al, 0x20
jne 0x43870f
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x4387d3
test al, 0x10
jne 0x438735
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 0x4387d3
test al, 8
jne 0x438764
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 0x4387d3
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43879f
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 0x4387d3
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 0x438816
je case.0x436fcc.115
cmp eax, 0xa0
ja 0x438805
je case.0x436fcc.115
cmp eax, 9
je case.0x436fcc.115
cmp eax, 0x20
je case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp eax, 0x1680
je case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp eax, 0x205f
ja 0x43884a
je case.0x436fcc.115
cmp eax, 0x2000
jb 0x437b16
cmp eax, 0x200a
jbe case.0x436fcc.115
cmp eax, 0x202f
je case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp eax, 0x3000
je case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d1bc
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438959
cmp eax, 0xc0
jb 0x438959
test al, 0x20
jne 0x438895
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438959
test al, 0x10
jne 0x4388bb
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 0x438959
test al, 8
jne 0x4388ea
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 0x438959
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438925
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 0x438959
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 0x43899c
je 0x437b16
cmp eax, 0xa0
ja 0x43898b
je 0x437b16
cmp eax, 9
je 0x437b16
cmp eax, 0x20
jne case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp eax, 0x1680
jne case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp eax, 0x205f
ja 0x4389d0
je 0x437b16
cmp eax, 0x2000
jb case.0x436fcc.115
cmp eax, 0x200a
jbe 0x437b16
cmp eax, 0x202f
jne case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp eax, 0x3000
jne case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d1bc
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438adf
cmp eax, 0xc0
jb 0x438adf
test al, 0x20
jne 0x438a1b
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x438adf
test al, 0x10
jne 0x438a41
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 0x438adf
test al, 8
jne 0x438a70
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 0x438adf
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x438aab
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 0x438adf
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 0x438b04
je case.0x436fcc.115
cmp eax, 0xa
jb 0x437b16
cmp eax, 0xd
jbe case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp eax, 0x2028
jb 0x437b16
cmp eax, 0x2029
jbe case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp esi, dword [edi + 0x6c]
jae 0x43d1bc
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438c1e
cmp eax, 0xc0
jb 0x438c1e
test al, 0x20
jne 0x438b5a
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438c1e
test al, 0x10
jne 0x438b80
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 0x438c1e
test al, 8
jne 0x438baf
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 0x438c1e
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438bea
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 0x438c1e
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 0x438c43
je 0x437b16
cmp eax, 0xa
jb case.0x436fcc.115
cmp eax, 0xd
ja case.0x436fcc.115
inc ebx
jmp 0x436fae
cmp eax, 0x2028
jb case.0x436fcc.115
cmp eax, 0x2029
ja case.0x436fcc.115
inc ebx
jmp 0x436fae
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 0x438c8d
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + eax*4]
lea eax, [edx + eax*4]
test ecx, ecx
js 0x438c8d
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x438c9d
cmp dword [edi + 0x48], 0
je 0x438c97
xor edx, edx
jmp 0x438c9d
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.0x438cb6
movzx ecx, byte [ecx + 0x43e9ba]
jmp dword [ecx*4 + 0x43e9b2]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x485ef0]
movsx eax, byte [eax + 0x485ef8]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x438d27
mov eax, accept
mov dword [ebp - 0xc], eax
jmp 0x438d27
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 0x438d21
mov eax, accept
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x10]
add ebx, 5
test edx, edx
je 0x436fae
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x438d71
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.0042f201
add esp, 0x14
test eax, eax
je 0x43d2c5
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 8]
jle 0x438d3e
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp ecx, eax
je 0x436fae
cmp dword [ebp - 0x14], 0
je 0x43d217
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e6c2.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.0042f201
add esp, 0x14
test eax, eax
je 0x43d1d5
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.00436f5e
add esp, 0x28
test eax, eax
je 0x438dbe
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.0042f201
add esp, 0x14
test eax, eax
je 0x43d2c5
add esi, dword [ebp - 0x10]
jmp 0x436fae
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.0x438e63
movzx edx, byte [edx + 0x43e9ca]
jmp dword [edx*4 + 0x43e9c2]
add eax, 0xffffffba
movzx edx, al
and edx, 1
mov dword [ebp - 0x14], edx
movsx edx, byte [eax + 0x485ef0]
movsx eax, byte [eax + 0x485ef8]
inc ebx
mov dword [ebp - 0xc], eax
test eax, eax
mov dword [ebp - 8], edx
mov eax, 1
jne 0x438eeb
mov dword [ebp - 0xc], accept
jmp 0x438eeb
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 0x438ed1
mov dword [ebp - 0xc], accept
mov edx, dword [ebp - 8]
add ebx, 5
mov eax, 1
jmp 0x438eeb
mov eax, 1
mov edx, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
cmp dword [ebp - 0x1c], 0
je 0x439034
mov dword [ebp + 0x1c], 1
cmp edx, 1
jl 0x439076
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x438ff1
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x438f35
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x438fee
test al, 0x10
jne 0x438f55
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 0x438fee
test al, 8
jne 0x438f7e
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 0x438fee
test al, 4
jne 0x438fb3
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 0x438fee
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 0x439003
cmp ecx, 0x4e
je 0x43ce34
jmp 0x439026
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.0x436fcc.115
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], edx
jle 0x438f05
jmp 0x439076
mov dword [ebp + 0x1c], eax
cmp edx, eax
jl 0x439076
cmp esi, dword [edi + 0x6c]
jae 0x43d324
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.0x436fcc.115
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jle 0x43903b
mov ecx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x436fae
cmp dword [ebp - 0x14], 0
mov dword [ebp + 0x1c], edx
je 0x43d507
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x43d46c
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x436fcc.115
cmp esi, dword [edi + 0x6c]
jae 0x43d324
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43d405
test al, 0x20
jne 0x43d341
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43d405
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.0x439137
movzx edx, byte [edx + 0x43e9da]
jmp dword [edx*4 + 0x43e9d2]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x485ef0]
movsx eax, byte [eax + 0x485ef8]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x4391b1
mov eax, accept
jmp 0x4391ae
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 0x43919f
mov eax, accept
mov dword [ebp - 0xc], eax
add ebx, 5
jmp 0x4391b1
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 0x4392e9
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4392bf
cmp eax, 0xc0
jb 0x4392bf
test al, 0x20
jne 0x4391fb
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x4392bf
test al, 0x10
jne 0x439221
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 0x4392bf
test al, 8
jne 0x439250
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 0x4392bf
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43928b
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 0x4392bf
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.0042e930
add esp, 8
test eax, eax
je 0x43ce34
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x4391c1
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x436fae
cmp dword [ebp - 0x14], 0
je 0x43d8c3
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e6c2.14
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43d84e
cmp eax, 0xc0
jb 0x43d84e
test al, 0x20
jne 0x43d78a
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43d84e
cmp dword [ebp - 0x1c], eax
je 0x4393f4
mov edx, 1
movzx ecx, byte [ebx + edx]
add ebx, edx
mov eax, edx
cmp ecx, 0xc0
jb 0x4393c6
test cl, 0x20
jne 0x4393a0
lea eax, [edx + 1]
jmp 0x4393c6
test cl, 0x10
jne 0x4393ac
mov eax, 3
jmp 0x4393c6
test cl, 8
jne 0x4393b8
mov eax, 4
jmp 0x4393c6
test cl, 4
mov eax, 0
setne al
add eax, 5
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp eax, ecx
jg 0x43daca
test eax, eax
jle 0x436fae
mov dl, byte [ebx]
mov cl, byte [esi]
dec eax
inc esi
inc ebx
cmp dl, cl
jne 0x43ce34
test eax, eax
jle 0x436fae
jmp 0x4393db
mov edx, dword [edi + 0x6c]
sub edx, esi
mov eax, 1
cmp edx, eax
jl 0x43db07
mov cl, byte [esi]
add esi, eax
cmp byte [ebx + 1], cl
jne 0x43ce34
add ebx, 2
jmp 0x436fae
cmp dword [ebp - 0x1c], eax
je 0x43964d
movzx eax, byte [ebx + 1]
inc ebx
mov ecx, 1
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x1c], eax
cmp eax, 0xc0
jb 0x439512
test al, 0x20
jne 0x43945c
movzx edx, byte [ebx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
mov ecx, 2
jmp 0x43950f
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
and ecx, 0x3f
and edx, 0x3f
test al, 0x10
jne 0x439485
and eax, 0xf
shl eax, 6
or eax, ecx
shl eax, 6
or eax, edx
mov ecx, 3
jmp 0x43950f
test al, 8
jne 0x4394a9
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 0x43950f
test al, 4
jne 0x4394d9
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 0x43950f
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 0x43db1f
movzx ecx, byte [esi]
inc esi
cmp eax, 0x80
jae 0x43954f
mov eax, dword [edi + 0x30]
mov dl, byte [ecx + eax]
mov ecx, dword [ebp + 0x1c]
inc ebx
cmp byte [ecx + eax], dl
je 0x436fae
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 0x439630
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x439574
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x439630
test cl, 0x10
jne 0x439595
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 0x439630
test cl, 8
jne 0x4395bf
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 0x439630
test cl, 4
jne 0x4395f5
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 0x439630
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 0x436fae
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 0x43d150
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.0x436fcc.115
add ebx, 2
jmp 0x436fae
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 0x439725
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 0x439725
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], eax
add ebx, edx
jmp 0x439720
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], edx
add ebx, edx
jmp 0x439720
mov edx, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], edx
mov eax, edx
add ebx, edx
jmp 0x439725
add ecx, 0xffffffe1
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x485ef0]
mov dword [ebp - 8], eax
movsx eax, byte [ecx + 0x485ef8]
add ebx, edx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x439728
mov eax, accept
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x1c], 0
movzx ecx, byte [ebx]
mov dword [ebp - 4], ecx
je 0x43996d
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x24], ebx
cmp ecx, 0xc0
jb 0x439832
movzx edx, byte [ebx + 1]
and edx, 0x3f
test cl, 0x20
jne 0x439768
and ecx, 0x1f
shl ecx, 6
or ecx, edx
mov edx, 2
jmp 0x43982c
test cl, 0x10
jne 0x43978b
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 0x43982c
test cl, 8
jne 0x4397b7
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 0x43982c
test cl, 4
jne 0x4397ef
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 0x43982c
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 0x43996f
mov ecx, dword [ebp - 8]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x439888
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x43d2c5
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00411b83
add esp, 0xc
test eax, eax
jne 0x43d2c5
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 0x43984c
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x436fae
cmp dword [ebp - 0x14], 0
jne 0x43db37
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x4398f6
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x4398d5
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00411b83
add esp, 0xc
test eax, eax
jne 0x4398d5
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 0x4398a4
jmp 0x4398f6
cmp dword [edi + 0x7c], 0
je 0x4398f6
cmp esi, dword [edi + 0x6c]
jb 0x4398f6
cmp esi, dword [edi + 0x78]
jbe 0x4398f6
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
cmp dword [ebp - 0x18], 0
jne 0x436fae
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
cmp esi, dword [ebp - 0x14]
je case.0x43e6c2.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.00436f5e
add esp, 0x28
test eax, eax
je 0x439931
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ebx, edx
test byte [ebp + 0x20], 1
je 0x439a83
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 0x4399ce
jmp 0x4399a3
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43dc00
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
jne case.0x43e6c2.14
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc edx
mov dword [ebp + 0x1c], edx
cmp edx, ecx
jle 0x43999e
cmp ecx, eax
je 0x436fae
cmp dword [ebp - 0x14], 0
jne 0x43dc24
mov dword [ebp - 0x14], esi
cmp ecx, eax
jge 0x439a28
mov dword [ebp + 0x1c], ecx
cmp esi, dword [edi + 0x6c]
jae 0x439a0c
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
jne 0x439a28
mov ecx, dword [ebp + 0x1c]
inc ecx
inc esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jl 0x4399ea
jmp 0x439a28
cmp dword [edi + 0x7c], 0
je 0x439a28
cmp esi, dword [edi + 0x78]
jbe 0x439a28
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
cmp dword [ebp - 0x18], 0
jne 0x436fae
cmp esi, dword [ebp - 0x14]
jb 0x439a71
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.00436f5e
add esp, 0x28
dec esi
test eax, eax
jne 0x43e802
cmp esi, dword [ebp - 0x14]
jae 0x439a3e
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 0x439ab8
cmp esi, dword [edi + 0x6c]
jae 0x43d324
movzx edx, byte [esi]
inc esi
cmp ecx, edx
jne case.0x436fcc.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 0x439a92
cmp edx, eax
je 0x436fae
cmp dword [ebp - 0x14], 0
mov edx, dword [ebp - 8]
mov dword [ebp + 0x1c], edx
jne 0x43dcba
mov dword [ebp - 0x14], esi
cmp edx, eax
jge 0x439b0d
cmp esi, dword [edi + 0x6c]
jae 0x439af1
movzx edx, byte [esi]
cmp ecx, edx
jne 0x439b0d
mov edx, dword [ebp + 0x1c]
inc edx
inc esi
mov dword [ebp + 0x1c], edx
cmp edx, eax
jl 0x439ad7
jmp 0x439b0d
cmp dword [edi + 0x7c], 0
je 0x439b0d
cmp esi, dword [edi + 0x78]
jbe 0x439b0d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
cmp dword [ebp - 0x18], 0
jne 0x436fae
cmp esi, dword [ebp - 0x14]
jb 0x439b56
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.00436f5e
add esp, 0x28
dec esi
test eax, eax
jne 0x43e802
cmp esi, dword [ebp - 0x14]
jae 0x439b23
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 0x43d1bc
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x439c66
cmp eax, 0xc0
jb 0x439c66
test al, 0x20
jne 0x439ba2
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x439c66
test al, 0x10
jne 0x439bc8
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 0x439c66
test al, 8
jne 0x439bf7
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 0x439c66
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x439c32
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 0x439c66
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 0x439ca2
cmp eax, 0x100
jae 0x439c7a
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 0x436fae
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 0x436fae
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 0x439d69
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 0x439d6c
mov edx, 1
xor eax, eax
mov dword [ebp - 0x18], edx
add ebx, edx
jmp 0x439d64
mov eax, 1
mov dword [ebp - 0x18], eax
add ebx, eax
jmp 0x439d64
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x18], ecx
add ebx, ecx
jmp 0x439d69
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 0x439d69
add ecx, 0xffffffd4
movzx eax, cl
and eax, 1
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x485ef0]
movsx ecx, byte [ecx + 0x485ef8]
inc ebx
mov dword [ebp - 0xc], ecx
test ecx, ecx
jne 0x439d6c
mov ecx, accept
mov dword [ebp - 0xc], ecx
movzx edx, byte [ebx]
inc ebx
test byte [ebp + 0x20], 1
mov dword [ebp - 4], edx
je 0x43a176
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 0x439eb8
cmp eax, 1
jl 0x439ee5
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x439e8f
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x439dd3
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x439e8f
test cl, 0x10
jne 0x439df4
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 0x439e8f
test cl, 8
jne 0x439e1e
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 0x439e8f
test cl, 4
jne 0x439e54
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 0x439e8f
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 0x439e9e
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
cmp dword [ebp - 4], ecx
je case.0x43e6c2.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x439da1
jmp 0x439ee5
cmp eax, 1
jl 0x439ee5
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43e6c2.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x439ebd
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x436fae
cmp dword [ebp - 0x14], 0
jne 0x43dd43
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43a0de
mov dword [ebp + 0x1c], eax
cmp eax, edx
jge 0x43a052
mov eax, 1
cmp esi, dword [edi + 0x6c]
jae 0x43a03b
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x43a011
movzx eax, byte [esi + 1]
and eax, 0x3f
test cl, 0x20
jne 0x439f4d
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x43a011
test cl, 0x10
jne 0x439f70
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 0x43a011
test cl, 8
jne 0x439f9c
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 0x43a011
test cl, 4
jne 0x439fd4
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 0x43a011
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 0x43a023
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp - 4], ecx
je 0x43a052
add esi, eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x439f12
jmp 0x43a052
cmp dword [edi + 0x7c], 0
je 0x43a052
cmp esi, dword [edi + 0x78]
jbe 0x43a052
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
cmp dword [ebp - 0x18], 0
jne 0x436fae
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
nop
mov edx, esi
dec esi
cmp edx, dword [ebp - 0x14]
je 0x43a164
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a0ae
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43a0a2
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43a08e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edx
jge 0x43a11b
cmp esi, dword [edi + 0x6c]
jae 0x43a0ff
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
je 0x43a11b
inc eax
inc esi
cmp eax, dword [ebp - 0xc]
jl 0x43a0e2
jmp 0x43a11b
cmp dword [edi + 0x7c], 0
je 0x43a11b
cmp esi, dword [edi + 0x78]
jbe 0x43a11b
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
cmp dword [ebp - 0x18], 0
jne 0x436fae
cmp esi, dword [ebp - 0x14]
jb 0x43a164
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43a131
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 0x43a2b9
cmp eax, edx
jl 0x43a2e8
cmp esi, dword [edi + 0x6c]
jae 0x43df5a
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43a299
test cl, 0x20
jne 0x43a1c3
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
inc esi
jmp 0x43a299
test cl, 0x10
jne 0x43a1ea
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 0x43a299
test cl, 8
jne 0x43a21d
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 0x43a299
test cl, 4
jne 0x43a259
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 0x43a299
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.0x436fcc.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a190
jmp 0x43a2e5
cmp eax, edx
jl 0x43a2e8
cmp esi, dword [edi + 0x6c]
jae 0x43df5a
movzx ecx, byte [esi]
add esi, edx
cmp dword [ebp - 4], ecx
je case.0x436fcc.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a2bd
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
je 0x436fae
cmp dword [ebp - 0x14], 0
jne 0x43df78
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43a4ca
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jge 0x43a43b
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43a424
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43a40c
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43a34b
and eax, 0x1f
shl eax, 6
or eax, edx
mov edx, 2
jmp 0x43a40c
test al, 0x10
jne 0x43a36d
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 0x43a40c
test al, 8
jne 0x43a398
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 0x43a40c
test al, 4
jne 0x43a3cf
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 0x43a40c
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 0x43a43b
mov eax, dword [ebp + 0x1c]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jl 0x43a312
jmp 0x43a43b
cmp dword [edi + 0x7c], 0
je 0x43a43b
cmp esi, dword [edi + 0x78]
jbe 0x43a43b
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jg 0x43d13b
cmp dword [ebp - 0x18], 0
jne 0x436fae
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43a551
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43a49a
mov edi, edi
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43a48e
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43a476
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
cmp eax, ecx
jge 0x43a501
cmp esi, dword [edi + 0x6c]
jae 0x43a4e5
movzx eax, byte [esi]
cmp dword [ebp - 4], eax
je 0x43a501
inc edx
inc esi
cmp edx, ecx
jl 0x43a4d0
jmp 0x43a501
cmp dword [edi + 0x7c], 0
je 0x43a501
cmp esi, dword [edi + 0x78]
jbe 0x43a501
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d13b
cmp dword [ebp - 0x18], 0
jne 0x436fae
cmp esi, dword [ebp - 0x14]
jb 0x43a551
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43a51e
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 0x43a626
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 0x43a629
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 8], ecx
inc ebx
jmp 0x43a621
mov ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], ecx
add ebx, ecx
jmp 0x43a621
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], ecx
add ebx, edx
jmp 0x43a626
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 0x43a626
lea eax, [ecx - 0x39]
movsx edx, byte [eax + 0x485ef8]
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x485ef0]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edx
test edx, edx
jne 0x43a629
mov edx, accept
mov dword [ebp - 0xc], edx
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x43b479
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
je 0x43b0e5
cmp eax, 0xf
ja case.0x43e6a8.15
jmp dword [eax*4 + 0x43e9e2]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43a69b
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.0042efe8
add esp, 0x14
test eax, eax
jne case.0x43e6c2.14
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43a6c2
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43a6c2
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43a6c2
cmp dword [edi + 0x1c], 1
je case.0x43e6c2.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x43e6c2.14
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43a6dc
lea ebx, [ebx]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a6dc
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43a6ce
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43a665
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
jmp 0x43a6fe
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43d89a
inc esi
cmp esi, eax
jae 0x43a71c
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a71c
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43a70e
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43a6fe
jmp 0x43b479
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja case.0x43e6c2.14
add esi, ecx
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43a842
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43a783
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43a83c
test al, 0x10
jne 0x43a7a3
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 0x43a83c
test al, 8
jne 0x43a7cc
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 0x43a83c
test al, 4
jne 0x43a801
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 0x43a83c
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 0x43a86e
je 0x43a861
cmp dword [ebp - 4], 0xa
je 0x43a892
mov eax, dword [ebp - 4]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x43e6c2.14
jmp 0x43a888
cmp esi, dword [edi + 0x6c]
jae 0x43a892
cmp byte [esi], 0xa
jne 0x43a892
inc esi
jmp 0x43a892
cmp dword [ebp - 4], 0x85
je 0x43a888
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x43e6c2.14
cmp dword [edi + 0x60], 0
jne 0x43ce34
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43a750
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43a9a5
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43a8e6
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43a99f
test al, 0x10
jne 0x43a906
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 0x43a99f
test al, 8
jne 0x43a92f
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 0x43a99f
test al, 4
jne 0x43a964
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 0x43a99f
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 0x43a9e8
je 0x43ce34
cmp dword [ebp - 4], 0xa0
ja 0x43a9d9
je 0x43ce34
cmp dword [ebp - 4], 9
je 0x43ce34
cmp dword [ebp - 4], 0x20
je 0x43ce34
jmp 0x43aa29
cmp dword [ebp - 4], 0x1680
je 0x43ce34
jmp 0x43aa29
cmp dword [ebp - 4], 0x205f
ja 0x43aa1c
je 0x43ce34
cmp dword [ebp - 4], 0x2000
jb 0x43aa29
cmp dword [ebp - 4], 0x200a
jbe 0x43ce34
cmp dword [ebp - 4], 0x202f
je 0x43ce34
jmp 0x43aa29
cmp dword [ebp - 4], 0x3000
je 0x43ce34
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43a8b3
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43ab3c
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43aa7d
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43ab36
test al, 0x10
jne 0x43aa9d
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 0x43ab36
test al, 8
jne 0x43aac6
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 0x43ab36
test al, 4
jne 0x43aafb
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 0x43ab36
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 0x43ab73
je 0x43abb0
cmp dword [ebp - 4], 0xa0
ja 0x43ab64
je 0x43abb0
cmp dword [ebp - 4], 9
je 0x43abb0
cmp dword [ebp - 4], 0x20
jne 0x43ce34
jmp 0x43abb0
cmp dword [ebp - 4], 0x1680
jne 0x43ce34
jmp 0x43abb0
cmp dword [ebp - 4], 0x205f
ja 0x43aba3
je 0x43abb0
cmp dword [ebp - 4], 0x2000
jb 0x43ce34
cmp dword [ebp - 4], 0x200a
jbe 0x43abb0
cmp dword [ebp - 4], 0x202f
jne 0x43ce34
jmp 0x43abb0
cmp dword [ebp - 4], 0x3000
jne 0x43ce34
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43aa4a
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43acc3
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ac04
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43acbd
test al, 0x10
jne 0x43ac24
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 0x43acbd
test al, 8
jne 0x43ac4d
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 0x43acbd
test al, 4
jne 0x43ac82
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 0x43acbd
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 0x43ace4
je 0x43ce34
cmp dword [ebp - 4], 0xa
jb 0x43acfa
cmp dword [ebp - 4], 0xd
jbe 0x43ce34
jmp 0x43acfa
cmp dword [ebp - 4], 0x2028
jb 0x43acfa
cmp dword [ebp - 4], 0x2029
jbe 0x43ce34
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43abd1
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43ae0d
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ad4e
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43ae07
test al, 0x10
jne 0x43ad6e
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 0x43ae07
test al, 8
jne 0x43ad97
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 0x43ae07
test al, 4
jne 0x43adcc
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 0x43ae07
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 0x43ae29
je 0x43ae3a
mov eax, dword [ebp - 4]
add eax, 0xfffffff6
cmp eax, 3
ja 0x43ce34
jmp 0x43ae3a
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43ce34
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ad1b
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43af4d
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ae8e
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43af47
test al, 0x10
jne 0x43aeae
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 0x43af47
test al, 8
jne 0x43aed7
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 0x43af47
test al, 4
jne 0x43af0c
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 0x43af47
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 0x43af69
mov eax, dword [edi + 0x34]
mov edx, dword [ebp - 4]
test byte [edx + eax], 4
jne 0x43ce34
mov edx, dword [ebp - 0xc]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ae5b
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
mov al, byte [esi]
cmp al, 0x80
jae 0x43ce34
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
inc esi
and al, 4
je 0x43ce34
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43af8a
jmp 0x43b476
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
mov al, byte [esi]
cmp al, 0x80
jae 0x43aff1
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne 0x43ce34
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43afff
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43aff1
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43afcf
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
mov al, byte [esi]
cmp al, 0x80
jae 0x43ce34
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
je 0x43ce34
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b01c
jmp 0x43b476
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
mov al, byte [esi]
cmp al, 0x80
jae 0x43b084
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 0x10
jne 0x43ce34
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43b092
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43b084
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b062
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
mov al, byte [esi]
cmp al, 0x80
jae 0x43ce34
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
je 0x43ce34
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b0af
jmp 0x43b476
cmp eax, 0xf
ja case.0x43e6a8.15
jmp dword [eax*4 + 0x43ea22]
cmp ecx, 1
jl 0x43b479
mov dword [ebp + 0x1c], 1
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b139
mov edx, dword [edi + 0x6c]
push 0
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.0042efe8
add esp, 0x14
test eax, eax
jne 0x43ce34
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43b160
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b160
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43b160
cmp dword [edi + 0x1c], 1
je 0x43ce34
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43ce34
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b105
jmp 0x43b479
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43d2eb
add esi, ecx
jmp 0x43b479
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43d89a
add esi, ecx
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
jmp 0x43b1ae
cmp esi, dword [edi + 0x6c]
jae 0x43d324
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x43e6c2.14
movzx eax, byte [eax + 0x43ea72]
jmp dword [eax*4 + 0x43ea62]
cmp esi, dword [edi + 0x6c]
jae case.0x43b1ce.10
cmp byte [esi], 0xa
jne case.0x43b1ce.10
inc esi
jmp case.0x43b1ce.10
cmp dword [edi + 0x60], 0
jne case.0x436fcc.115
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b1ae
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x43e6c2.14
cmp eax, 0x20
je case.0x43e6c2.14
cmp eax, 0xa0
je case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b20e
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43b280
cmp eax, 0x20
je 0x43b280
cmp eax, 0xa0
jne case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b25e
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43b2c6
cmp eax, 0xd
jle case.0x43e6c2.14
cmp eax, 0x85
je case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b2a0
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
jmp 0x43b2ee
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x43e6c2.14
cmp eax, 0xd
jle 0x43b314
cmp eax, 0x85
jne case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b2ee
jmp 0x43b479
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 4
jne case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b334
jmp 0x43b476
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 4
je case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b370
jmp 0x43b476
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
jne case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b3ab
jmp 0x43b476
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 1
je case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b3e7
jmp 0x43b476
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
jne case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b41b
jmp 0x43b476
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b479
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 0x10
je case.0x43e6c2.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b450
mov edx, dword [ebp - 0xc]
cmp ecx, edx
je 0x436fae
cmp dword [ebp - 0x14], 0
jne 0x43e18f
mov eax, dword [ebp - 0x10]
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43c388
cmp eax, 0xf
ja case.0x43e6a8.15
jmp dword [eax*4 + 0x43eaee]
mov dword [ebp + 0x1c], ecx
cmp edx, 0x7fffffff
jge 0x43b551
cmp ecx, edx
jge 0x43c2f7
cmp esi, dword [edi + 0x6c]
jae 0x43b683
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b4f8
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.0042efe8
add esp, 0x14
test eax, eax
jne 0x43c2f7
mov edx, dword [ebp - 0xc]
jmp 0x43b51f
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b51f
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43b51f
cmp dword [edi + 0x1c], 1
je 0x43c2f7
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c2f7
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43b53d
lea esp, [esp]
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b53d
inc esi
cmp esi, eax
jb 0x43b52e
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b4c5
jmp 0x43c2f7
cmp ecx, edx
jge 0x43c2f7
jmp 0x43b55e
cmp esi, dword [edi + 0x6c]
jae 0x43b5dd
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b58d
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.0042efe8
add esp, 0x14
test eax, eax
jne 0x43c2f7
mov edx, dword [ebp - 0xc]
jmp 0x43b5b4
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b5b4
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43b5b4
cmp dword [edi + 0x1c], 1
je 0x43c2f7
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c2f7
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43b5cd
mov edi, edi
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b5cd
inc esi
cmp esi, eax
jb 0x43b5be
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b55e
jmp 0x43c2f7
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
jmp 0x43c2f7
cmp edx, 0x7fffffff
jge 0x43b66d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43b644
inc esi
cmp esi, eax
jae 0x43b634
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b634
inc esi
cmp esi, eax
jb 0x43b625
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jl 0x43b61c
jmp 0x43c2f7
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d13b
jmp 0x43c2f7
mov esi, dword [edi + 0x6c]
jmp 0x43c2f7
mov eax, dword [edi + 0x6c]
sub edx, ecx
sub eax, esi
cmp edx, eax
jbe 0x43b6ac
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d30f
jmp 0x43c2f7
add esi, edx
jmp 0x43c2f7
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
mov ecx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43b817
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43b7b8
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43b6f7
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x43b7b8
test al, 0x10
jne 0x43b719
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 0x43b7b8
test al, 8
jne 0x43b744
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 0x43b7b8
test al, 4
jne 0x43b77b
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 0x43b7b8
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 0x43b7cf
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43c2f7
cmp byte [esi], 0xa
jne 0x43b803
inc esi
jmp 0x43b803
cmp eax, 0xa
je 0x43b801
cmp dword [edi + 0x60], 0
jne 0x43c2f7
cmp eax, 0xb
je 0x43b801
cmp eax, 0xc
je 0x43b801
cmp eax, 0x85
je 0x43b801
cmp eax, 0x2028
je 0x43b801
cmp eax, 0x2029
jne 0x43c2f7
add esi, ecx
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b6be
jmp 0x43c2f7
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d16f
jmp 0x43c2f7
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
mov ecx, 1
lea ecx, [ecx]
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43b9bd
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43b936
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43b885
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43b934
test al, 0x10
jne 0x43b8a1
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43b92e
test al, 8
jne 0x43b8c6
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 0x43b92e
test al, 4
jne 0x43b8f7
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 0x43b92e
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 0x43b990
je 0x43b952
cmp eax, 0xa0
ja 0x43b985
je 0x43b952
cmp eax, 9
je 0x43b952
cmp eax, 0x20
jne 0x43b9b9
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x10], 0x12
sete al
cmp ecx, eax
je 0x43c2f7
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 0x43b84e
jmp 0x43c2f7
cmp eax, 0x1680
je 0x43b952
xor ecx, ecx
jmp 0x43b957
cmp eax, 0x205f
ja 0x43b9b2
je 0x43b952
cmp eax, 0x2000
jb 0x43b9b9
cmp eax, 0x200a
jbe 0x43b952
cmp eax, 0x202f
je 0x43b952
xor ecx, ecx
jmp 0x43b957
cmp eax, 0x3000
je 0x43b952
xor ecx, ecx
jmp 0x43b957
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d13b
jmp 0x43c2f7
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
mov ecx, 1
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bb2d
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bad9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43ba28
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43bad7
test al, 0x10
jne 0x43ba44
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43bad1
test al, 8
jne 0x43ba69
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 0x43bad1
test al, 4
jne 0x43ba9a
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 0x43bad1
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 0x43bb1c
je 0x43bb26
cmp eax, 0xa
jb 0x43baec
cmp eax, 0xd
jbe 0x43bb26
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x10], 0x14
sete al
cmp ecx, eax
je 0x43c2f7
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 0x43b9f1
jmp 0x43c2f7
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43baec
mov ecx, 1
jmp 0x43baee
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d30f
jmp 0x43c2f7
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
mov edi, edi
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43bc76
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bc4b
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bb9a
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43bc49
test al, 0x10
jne 0x43bbb6
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43bc43
test al, 8
jne 0x43bbdb
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 0x43bc43
test al, 4
jne 0x43bc0c
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 0x43bc43
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 0x43bc5f
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43c2f7
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43bb5e
jmp 0x43c2f7
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
jmp 0x43c2f7
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43b9bd
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bd96
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bce5
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43bd94
test al, 0x10
jne 0x43bd01
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43bd8e
test al, 8
jne 0x43bd26
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 0x43bd8e
test al, 4
jne 0x43bd57
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 0x43bd8e
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 0x43c2f7
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43c2f7
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 0x43bcae
jmp 0x43c2f7
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
jmp 0x43bdde
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43bef6
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43becb
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43be1a
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43bec9
test al, 0x10
jne 0x43be36
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43bec3
test al, 8
jne 0x43be5b
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 0x43bec3
test al, 4
jne 0x43be8c
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 0x43bec3
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 0x43bedf
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43c2f7
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43bdde
jmp 0x43c2f7
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d30f
jmp 0x43c2f7
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c04b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c016
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bf65
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c014
test al, 0x10
jne 0x43bf81
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c00e
test al, 8
jne 0x43bfa6
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 0x43c00e
test al, 4
jne 0x43bfd7
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 0x43c00e
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 0x43c2f7
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43c2f7
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 0x43bf2e
jmp 0x43c2f7
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d16f
jmp 0x43c2f7
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
lea esp, [esp]
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c196
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c16b
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c0ba
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c169
test al, 0x10
jne 0x43c0d6
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c163
test al, 8
jne 0x43c0fb
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 0x43c163
test al, 4
jne 0x43c12c
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 0x43c163
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 0x43c17f
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43c2f7
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c07e
jmp 0x43c2f7
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d13b
jmp 0x43c2f7
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c2f7
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c2e0
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c2b6
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c205
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c2b4
test al, 0x10
jne 0x43c221
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c2ae
test al, 8
jne 0x43c246
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 0x43c2ae
test al, 4
jne 0x43c277
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 0x43c2ae
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 0x43c2f7
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43c2f7
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 0x43c1ce
jmp 0x43c2f7
cmp dword [edi + 0x7c], 0
je 0x43c2f7
cmp esi, dword [edi + 0x78]
jbe 0x43c2f7
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d30f
cmp dword [ebp - 0x18], 0
jne 0x436fae
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43c792
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43c358
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43c34e
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43c332
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xf
ja case.0x43e6a8.15
jmp dword [eax*4 + 0x43eb2e]
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c749
cmp esi, dword [edi + 0x6c]
jae 0x43c408
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43c3d0
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042efe8
add esp, 0x14
test eax, eax
jne 0x43c749
mov edx, dword [ebp - 0xc]
jmp 0x43c3f7
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43c3f7
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43c3f7
cmp dword [edi + 0x1c], 1
je 0x43c749
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c749
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c3a3
jmp 0x43c749
cmp dword [edi + 0x7c], 0
je 0x43c749
cmp esi, dword [edi + 0x78]
jbe 0x43c749
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d30f
jmp 0x43c749
sub edx, ecx
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp edx, ecx
jbe 0x43c468
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43c749
cmp esi, dword [edi + 0x78]
jbe 0x43c749
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
jmp 0x43c749
add esi, edx
jmp 0x43c749
cmp ecx, edx
jge 0x43c749
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43c4cb
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43c49c
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43c749
cmp byte [esi], 0xa
jne 0x43c4c1
jmp 0x43c4c0
cmp eax, 0xa
je 0x43c4c0
cmp dword [edi + 0x60], 0
jne 0x43c749
cmp eax, 0xb
je 0x43c4c0
cmp eax, 0xc
je 0x43c4c0
cmp eax, 0x85
jne 0x43c749
inc esi
inc ecx
cmp ecx, edx
jl 0x43c47e
jmp 0x43c749
cmp dword [edi + 0x7c], 0
je 0x43c749
cmp esi, dword [edi + 0x78]
jbe 0x43c749
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d13b
jmp 0x43c749
cmp ecx, edx
jge 0x43c749
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43c408
movzx eax, byte [esi]
cmp eax, 9
je 0x43c749
cmp eax, 0x20
je 0x43c749
cmp eax, 0xa0
je 0x43c749
inc ecx
inc esi
cmp ecx, edx
jl 0x43c4fe
jmp 0x43c749
cmp ecx, edx
jge 0x43c749
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43c43f
movzx eax, byte [esi]
cmp eax, 9
je 0x43c55f
cmp eax, 0x20
je 0x43c55f
cmp eax, 0xa0
jne 0x43c749
inc ecx
inc esi
cmp ecx, edx
jl 0x43c53e
jmp 0x43c749
cmp ecx, edx
jge 0x43c749
cmp esi, dword [edi + 0x6c]
jae 0x43c4cb
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43c749
cmp eax, 0xb
je 0x43c749
cmp eax, 0xc
je 0x43c749
cmp eax, 0xd
je 0x43c749
cmp eax, 0x85
je 0x43c749
inc ecx
inc esi
cmp ecx, edx
jl 0x43c572
jmp 0x43c749
cmp ecx, edx
jge 0x43c749
cmp esi, dword [edi + 0x6c]
jae 0x43c408
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43c5eb
cmp eax, 0xb
je 0x43c5eb
cmp eax, 0xc
je 0x43c5eb
cmp eax, 0xd
je 0x43c5eb
cmp eax, 0x85
jne 0x43c749
inc ecx
inc esi
cmp ecx, edx
jl 0x43c5c0
jmp 0x43c749
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c749
cmp esi, dword [edi + 0x6c]
jae 0x43c43f
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43c749
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c601
jmp 0x43c749
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c749
jmp 0x43c63e
cmp esi, dword [edi + 0x6c]
jae 0x43c4cb
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43c749
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c63e
jmp 0x43c749
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c749
cmp esi, dword [edi + 0x6c]
jae 0x43c408
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43c749
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c673
jmp 0x43c749
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c749
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43c43f
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43c749
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c6ae
jmp 0x43c749
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c749
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43c4cb
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43c749
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c6de
jmp 0x43c749
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c749
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43c72d
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43c749
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c70e
jmp 0x43c749
cmp dword [edi + 0x7c], 0
je 0x43c749
cmp esi, dword [edi + 0x78]
jbe 0x43c749
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d30f
cmp dword [ebp - 0x18], 0
jne 0x436fae
cmp esi, dword [ebp - 0x14]
jb 0x43c792
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.00436f5e
add esp, 0x28
dec esi
test eax, eax
jne 0x43e802
cmp esi, dword [ebp - 0x14]
jae 0x43c75f
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 0x43c7d2
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 0x43c7be
add ebx, 3
cmp dword [ebp - 4], 0x63
jne 0x43c9ed
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.00436f5e
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 0x43cd57
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 0x43c8bd
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 + 0x485228]
push ecx
add eax, ebx
push eax
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
je 0x43c89a
cmp eax, 0xfffffc1e
jne 0x43e802
cmp dword [edi + 0x70], ebx
jne 0x43e802
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 0x43c84e
cmp dword [ebp + 0x28], 0
jne 0x43ce46
movzx edx, byte [ebx]
movzx eax, byte [edx + 0x485228]
add ebx, eax
jmp 0x43c9f4
cmp byte [ebx + 3], 0x19
lea eax, [ebx + 3]
mov dword [ebp - 0x24], eax
jne 0x43c8f3
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 0x43c931
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
mov ebx, dword [ebp + 0x1c]
jmp 0x43c9ed
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
mov ebx, dword [ebp - 0x24]
jmp 0x43c9ed
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 0x43c9bc
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
cmp dword [ebp + 0x28], eax
jne 0x43d0c3
mov ebx, dword [ebp + 0x1c]
jmp 0x43c9f4
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
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 0x436f84
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 + 0x485228]
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.00436f5e
mov ebx, eax
add esp, 0x28
cmp ebx, 0xfffffc1d
jne 0x43ca87
mov ecx, dword [edi + 0x70]
mov edx, dword [ebp + 0x14]
push ecx
push edx
call fcn.00414ee0
add esp, 8
test eax, eax
jne 0x43ca87
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 0x43ca99
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 + 0x485228]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
je 0x43cafa
cmp eax, 0xfffffc1b
je 0x43cafa
cmp eax, 0xfffffc1c
je 0x43cafa
cmp eax, 0xfffffc1d
je 0x43cafa
cmp eax, 0xfffffc1e
jne 0x43e802
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 + 0x485228]
push eax
add edx, ebx
push edx
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
je 0x43cb52
cmp eax, 0xfffffc1e
jne 0x43e802
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 + 0x485228]
push ecx
movzx ecx, byte [ebx + 1]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
je 0x43cbb0
cmp eax, 0xfffffc1e
jne 0x43e802
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 + 0x485228]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
je 0x43cc0f
cmp eax, 0xfffffc1b
je 0x43cc0f
cmp eax, 0xfffffc1e
jne 0x43e802
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 + 0x485228]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
je 0x43cc77
cmp eax, 0xfffffc1b
je 0x43cc77
cmp eax, 0xfffffc1e
jne 0x43e802
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 + 0x485228]
push ecx
add eax, ebx
push eax
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
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 + 0x485228]
push ecx
movzx ecx, byte [ebx + 3]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
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 + 0x485228]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
je 0x43cde9
cmp eax, 0xfffffc1e
jne 0x43e802
cmp dword [edi + 0x70], ebx
jne 0x43e802
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 0x43cd9e
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 0x43ce3d
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 + 0x485228]
push ecx
add eax, ebx
push eax
push esi
call fcn.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
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 0x43ceb2
cmp dword [edi + 0x54], 0
jne 0x43ce34
cmp dword [edi + 0x58], 0
je 0x43ceb2
mov edx, dword [edi + 0x88]
add edx, dword [edi + 0x68]
cmp eax, edx
je 0x43ce34
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 0x43ceff
mov dword [ebp - 0x38], 0
jmp 0x43cf0f
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 0x43cf3d
lea eax, [ebp - 0x120]
mov dword [ebp - 0x30], eax
jmp 0x43cf64
lea eax, [ecx*4]
push eax
call dword [0x491490]
add esp, 4
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x43cf61
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.00411000
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 + 0x485228]
add eax, dword [ebp + 0x1c]
push ecx
push eax
push esi
call fcn.00436f5e
add esp, 0x28
mov dword [ebp - 0x24], eax
cmp eax, 1
je 0x43d08e
cmp eax, 0xfffffc19
je 0x43d08e
test eax, eax
je 0x43cff4
cmp eax, 0xfffffc1e
jne 0x43d069
cmp dword [edi + 0x70], ebx
jne 0x43d069
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.00411000
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 0x43cf95
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x120]
cmp eax, ecx
je case.0x43e6c2.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 0x43e802
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 0x43d0ae
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.00436f5e
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.0x436fcc.115
cmp esi, dword [edi + 0x78]
jbe case.0x436fcc.115
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jle case.0x436fcc.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 0x43ce34
cmp esi, dword [edi + 0x78]
jbe 0x43ce34
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x43ce34
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.0x43e6c2.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e6c2.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43e6c2.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 0x43ce34
cmp esi, dword [edi + 0x78]
jbe 0x43ce34
mov eax, 1
jmp 0x43d163
cmp dword [edi + 0x7c], 0
je case.0x436fcc.115
cmp esi, dword [edi + 0x6c]
jb case.0x436fcc.115
cmp esi, dword [edi + 0x78]
jbe case.0x436fcc.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x436fcc.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 0x43d272
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.0042f201
add esp, 0x14
test eax, eax
je 0x43d24c
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43d221
jmp 0x43d26d
cmp dword [edi + 0x7c], 0
je 0x43d26d
cmp esi, dword [edi + 0x6c]
jb 0x43d26d
cmp esi, dword [edi + 0x78]
jbe 0x43d26d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d16f
cmp esi, dword [ebp - 0x14]
jb case.0x436fcc.115
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
jmp 0x43d27e
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x43d27e
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 0x43ce34
cmp esi, dword [edi + 0x6c]
jb 0x43ce34
cmp esi, dword [edi + 0x78]
jbe 0x43ce34
mov eax, 1
jmp 0x43d163
cmp dword [edi + 0x7c], 0
je case.0x43e6c2.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e6c2.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43e6c2.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 0x43ce34
cmp esi, dword [edi + 0x78]
jbe 0x43ce34
mov eax, 1
jmp 0x43d163
test al, 0x10
jne 0x43d367
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 0x43d405
test al, 8
jne 0x43d396
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 0x43d405
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43d3d1
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 0x43d405
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 0x43d418
cmp dword [ebp - 4], 0x4e
je case.0x436fcc.115
jmp 0x43d435
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.0x43e6c2.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.00436f5e
add esp, 0x28
test eax, eax
je 0x4390ce
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
jmp 0x43d49e
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x436fcc.115
cmp esi, dword [edi + 0x6c]
jae 0x43d324
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.0x436fcc.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.00436f5e
add esp, 0x28
test eax, eax
je 0x43d49e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43d6e8
cmp edx, dword [ebp - 0xc]
jge 0x43d660
mov eax, 1
mov dword [ebp - 0x20], eax
cmp esi, dword [edi + 0x6c]
jae 0x43d649
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43d60a
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43d559
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x20], 2
jmp 0x43d608
test al, 0x10
jne 0x43d575
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x20], 3
jmp 0x43d602
test al, 8
jne 0x43d59a
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 0x43d602
test al, 4
jne 0x43d5cb
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 0x43d602
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 0x43d618
cmp ecx, 0x4e
je 0x43d660
jmp 0x43d634
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 0x43d660
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 0x43d51d
jmp 0x43d660
cmp dword [edi + 0x7c], 0
je 0x43d660
cmp esi, dword [edi + 0x78]
jbe 0x43d660
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d30f
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43d778
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43d6b8
lea esp, [esp]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43d6ae
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43d691
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, dword [ebp - 0xc]
jge 0x43d73e
cmp esi, dword [edi + 0x6c]
jae 0x43d71d
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 0x43d739
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43d6ed
jmp 0x43d739
cmp dword [edi + 0x7c], 0
je 0x43d739
cmp esi, dword [edi + 0x78]
jbe 0x43d739
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d30f
cmp esi, dword [ebp - 0x14]
jb 0x43d778
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43d745
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 0x43d7b0
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 0x43d84e
test al, 8
jne 0x43d7df
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 0x43d84e
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43d81a
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 0x43d84e
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.0042e930
add esp, 8
test eax, eax
je case.0x43e6c2.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.00436f5e
add esp, 0x28
test eax, eax
je 0x439332
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x436fcc.115
cmp esi, dword [edi + 0x78]
jbe case.0x436fcc.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x436fcc.115
jmp 0x43d13b
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x43da39
mov ecx, 1
mov dword [ebp - 0x20], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43da22
cmp dword [ebp - 0x1c], 0
movzx eax, byte [esi]
je 0x43d9f6
cmp eax, 0xc0
jb 0x43d9f6
test al, 0x20
jne 0x43d911
movzx ecx, byte [esi + 1]
and eax, 0x1f
mov dword [ebp - 0x20], 2
jmp 0x43d9ee
test al, 0x10
jne 0x43d93c
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 0x43d9f6
test al, 8
jne 0x43d971
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 0x43d9f4
test al, 4
jne 0x43d9b1
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 0x43d9f6
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.0042e930
add esp, 8
test eax, eax
je 0x43da39
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 0x43d8d6
jmp 0x43da39
cmp dword [edi + 0x7c], 0
je 0x43da39
cmp esi, dword [edi + 0x78]
jbe 0x43da39
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d13b
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
lea esp, [esp]
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43ce34
cmp dword [ebp - 0x1c], 0
je 0x43da9a
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43da9a
lea esp, [esp]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43da8e
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43da6e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x43e6c2.14
cmp esi, dword [edi + 0x6c]
jb case.0x43e6c2.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e6c2.14
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x43e6c2.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.0x43e6c2.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e6c2.14
jmp 0x43d303
cmp dword [edi + 0x7c], 0
je case.0x43e6c2.14
cmp esi, dword [edi + 0x6c]
jb case.0x43e6c2.14
jmp 0x43d2f5
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e6c2.14
mov edx, dword [edi + 0x6c]
sub edx, dword [ebp - 0x10]
cmp esi, edx
ja 0x43dbce
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
push eax
push ecx
push esi
call fcn.00411b83
add esp, 0xc
test eax, eax
jne 0x43dbce
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43db6e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x436fcc.115
cmp esi, dword [edi + 0x6c]
jb case.0x436fcc.115
cmp esi, dword [edi + 0x78]
jbe case.0x436fcc.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x436fcc.115
jmp 0x43d13b
cmp dword [edi + 0x7c], 0
je case.0x436fcc.115
cmp esi, dword [edi + 0x78]
jbe case.0x436fcc.115
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x436fcc.115
jmp 0x43d13b
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
lea ecx, [ecx]
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x436fcc.115
cmp esi, dword [edi + 0x6c]
jae 0x43d324
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
jne case.0x436fcc.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.00436f5e
add esp, 0x28
test eax, eax
je 0x43dc5e
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
lea ecx, [ecx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x436fcc.115
cmp esi, dword [edi + 0x6c]
jae 0x43d324
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 4], eax
jne case.0x436fcc.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.00436f5e
add esp, 0x28
test eax, eax
je 0x43dcee
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 0x43decf
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge 0x43ce34
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43de81
test al, 0x20
jne 0x43ddbd
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43de81
test al, 0x10
jne 0x43dde3
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 0x43de81
test al, 8
jne 0x43de12
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 0x43de81
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43de4d
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 0x43de81
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 0x43de8f
mov edx, dword [edi + 0x30]
movzx eax, byte [eax + edx]
cmp dword [ebp - 4], eax
je 0x43ce34
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43dd81
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
jmp 0x43defe
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x436fcc.115
cmp esi, dword [edi + 0x6c]
jae 0x43d324
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
je case.0x436fcc.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.00436f5e
add esp, 0x28
test eax, eax
je 0x43defe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x43ce34
cmp esi, dword [edi + 0x78]
jbe 0x43ce34
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jmp 0x43d169
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 0x43e0fe
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
jmp 0x43dfbe
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43ce34
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e0be
test al, 0x20
jne 0x43dffa
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e0be
test al, 0x10
jne 0x43e020
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 0x43e0be
test al, 8
jne 0x43e04f
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 0x43e0be
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e08a
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 0x43e0be
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 0x43ce34
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43dfbe
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
jmp 0x43e12e
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x43e6c2.14
cmp esi, dword [edi + 0x6c]
jae 0x43d89a
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43e6c2.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.00436f5e
add esp, 0x28
test eax, eax
je 0x43e12e
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 0x43e5f1
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge 0x43ce34
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
cmp dword [ebp - 0x10], 0xc
jne 0x43e239
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43e212
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.0042efe8
add esp, 0x14
test eax, eax
jne 0x43ce34
jmp 0x43e239
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43e239
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e239
cmp dword [edi + 0x1c], 1
je 0x43ce34
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43ce34
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e324
test al, 0x20
jne 0x43e260
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e324
test al, 0x10
jne 0x43e286
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 0x43e324
test al, 8
jne 0x43e2b5
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 0x43e324
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e2f0
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 0x43e324
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.0x43e6a8.15
jmp dword [ecx*4 + 0x43eb6e]
cmp eax, 0xd
ja 0x43e373
je 0x43e35b
cmp eax, 0xa
je case.0x43e333.12
jbe case.0x436fcc.115
cmp eax, 0xc
ja case.0x436fcc.115
jmp 0x43e390
cmp esi, dword [edi + 0x6c]
jae case.0x43e333.12
cmp byte [esi], 0xa
jne case.0x43e333.12
inc esi
jmp case.0x43e333.12
cmp eax, 0x85
je 0x43e390
cmp eax, 0x2027
jbe case.0x436fcc.115
cmp eax, 0x2029
ja case.0x436fcc.115
cmp dword [edi + 0x60], 0
jne case.0x43e6c2.14
jmp case.0x43e333.12
cmp eax, 0x180e
ja 0x43e3e0
je 0x43ce34
cmp eax, 0xa0
ja 0x43e3d0
je 0x43ce34
cmp eax, 9
je 0x43ce34
cmp eax, 0x20
je 0x43ce34
jmp case.0x43e333.12
cmp eax, 0x1680
je 0x43ce34
jmp case.0x43e333.12
cmp eax, 0x205f
ja 0x43e413
je 0x43ce34
cmp eax, 0x2000
jb case.0x43e333.12
cmp eax, 0x200a
jbe 0x43ce34
cmp eax, 0x202f
je 0x43ce34
jmp case.0x43e333.12
cmp eax, 0x3000
je 0x43ce34
jmp case.0x43e333.12
cmp eax, 0x180e
ja 0x43e464
je case.0x43e333.12
cmp eax, 0xa0
ja 0x43e454
je case.0x43e333.12
cmp eax, 9
je case.0x43e333.12
cmp eax, 0x20
jne case.0x436fcc.115
jmp case.0x43e333.12
cmp eax, 0x1680
jne case.0x436fcc.115
jmp case.0x43e333.12
cmp eax, 0x205f
ja 0x43e497
je case.0x43e333.12
cmp eax, 0x2000
jb case.0x436fcc.115
cmp eax, 0x200a
jbe case.0x43e333.12
cmp eax, 0x202f
jne case.0x436fcc.115
jmp case.0x43e333.12
cmp eax, 0x3000
jne case.0x436fcc.115
jmp case.0x43e333.12
cmp eax, 0x85
ja 0x43e4cb
je case.0x43e6c2.14
cmp eax, 0xa
jb case.0x43e333.12
cmp eax, 0xd
jbe case.0x43e6c2.14
jmp case.0x43e333.12
cmp eax, 0x2028
jb case.0x43e333.12
cmp eax, 0x2029
jbe case.0x43e6c2.14
jmp case.0x43e333.12
cmp eax, 0x85
ja 0x43e50a
je case.0x43e333.12
cmp eax, 0xa
jb 0x43ce34
cmp eax, 0xd
ja 0x43ce34
jmp case.0x43e333.12
cmp eax, 0x2028
jb 0x43ce34
cmp eax, 0x2029
ja 0x43ce34
jmp case.0x43e333.12
cmp eax, 0x100
jae case.0x43e333.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x436fcc.115
jmp case.0x43e333.12
cmp eax, 0x100
jae case.0x43e6c2.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43e6c2.14
jmp case.0x43e333.12
cmp eax, 0x100
jae case.0x43e333.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43ce34
jmp case.0x43e333.12
cmp eax, 0x100
jae case.0x436fcc.115
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x436fcc.115
jmp case.0x43e333.12
cmp eax, 0x100
jae case.0x43e333.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43e6c2.14
jmp case.0x43e333.12
cmp eax, 0x100
jae 0x43ce34
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43ce34
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43e1d0
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.00436f5e
add esp, 0x28
test eax, eax
jne 0x43e802
lea ebx, [ebx]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43ce34
cmp esi, dword [edi + 0x6c]
jae 0x43d2eb
cmp dword [ebp - 0x10], 0xc
jne 0x43e695
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43e66e
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042efe8
add esp, 0x14
test eax, eax
jne 0x43ce34
jmp 0x43e695
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43e695
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e695
cmp dword [edi + 0x1c], 1
je 0x43ce34
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43ce34
mov ecx, dword [ebp - 0x10]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x43e6a8.15
jmp dword [ecx*4 + 0x43ebae]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x43e6c2.14
movzx edx, byte [eax + 0x43ebfe]
jmp dword [edx*4 + 0x43ebee]
cmp esi, dword [edi + 0x6c]
jae case.0x43e6a8.12
cmp byte [esi], 0xa
jne case.0x43e6a8.12
inc esi
jmp case.0x43e6a8.12
cmp dword [edi + 0x60], 0
jne case.0x436fcc.115
jmp case.0x43e6a8.12
cmp eax, 9
je 0x43ce34
cmp eax, 0x20
je 0x43ce34
cmp eax, 0xa0
je 0x43ce34
jmp case.0x43e6a8.12
cmp eax, 9
je case.0x43e6a8.12
cmp eax, 0x20
je case.0x43e6a8.12
cmp eax, 0xa0
jne case.0x436fcc.115
jmp case.0x43e6a8.12
cmp eax, 0xa
jb case.0x43e6a8.12
cmp eax, 0xd
jbe case.0x43e6c2.14
cmp eax, 0x85
je case.0x43e6c2.14
jmp case.0x43e6a8.12
cmp eax, 0xa
jb 0x43ce34
cmp eax, 0xd
jbe case.0x43e6a8.12
cmp eax, 0x85
jne 0x43ce34
jmp case.0x43e6a8.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x436fcc.115
jmp case.0x43e6a8.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43e6c2.14
jmp case.0x43e6a8.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43ce34
jmp case.0x43e6a8.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x436fcc.115
jmp case.0x43e6a8.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43e6c2.14
jmp case.0x43e6a8.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43ce34
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.00436f5e
add esp, 0x28
test eax, eax
je 0x43e62e
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