Function at 0x437273
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 0x43cd1a
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 0x43cd28
test byte [ebp + 0x28], 2
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x20], edx
je 0x4372c3
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.0x4372e1.15
movzx edx, byte [ecx + 0x43ec4f]
jmp dword [edx*4 + 0x43eb1f]
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 0x4373bc
cmp dword [0x4a7f20], 0
je 0x4373b9
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.0x43e9d7.14
js 0x43eb17
add ebx, 6
movzx ecx, byte [ebx + 3]
lea eax, [ebx + 3]
cmp ecx, 0x66
je 0x4375c0
cmp ecx, 0x67
je 0x4375c0
cmp ecx, 0x64
je 0x437445
cmp ecx, 0x65
je 0x437445
cmp ecx, 0x68
jne 0x4373f8
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
jmp 0x4375af
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.00437273
add esp, 0x28
cmp eax, 1
je 0x43cab9
test eax, eax
je 0x43743d
cmp eax, 0xfffffc1e
jne 0x43eb17
cmp dword [edi + 0x70], ebx
jne 0x43eb17
add ebx, dword [ebp + 0x1c]
jmp 0x4375af
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 0x437466
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43771b
mov dword [ebp - 0x18], 0
cmp ecx, 0x65
jne 0x437596
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 0x4374b6
jmp 0x437493
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [ebp - 0x24]
je 0x4374b3
mov eax, dword [ebp + 0x1c]
add ecx, dword [edi + 0x24]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x437493
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x437596
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x437522
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.00414f10
add esp, 8
test eax, eax
jne 0x437522
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 0x437516
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43771b
mov dword [ebp - 0x18], 0
cmp ecx, dword [edi + 0x28]
ja 0x4374d3
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 0x437596
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.00414f10
add esp, 8
test eax, eax
jne 0x437596
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 0x437583
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43771b
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x437543
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 0x43cae7
cmp byte [ebx], 0x54
je 0x43cae7
add ebx, 3
jmp 0x4372c3
cmp dword [edi + 0x94], 0
jne 0x4375da
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
jmp 0x4375af
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 0x43771b
mov edx, dword [edi + 0x94]
cmp eax, dword [edx + 4]
je 0x43771b
mov dword [ebp - 0x18], 0
cmp ecx, 0x67
jne 0x437596
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x1c], ecx
cmp dword [edi + 0x20], ecx
jle 0x437646
lea ecx, [ecx]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
cmp ecx, dword [ebp - 0x24]
je 0x437643
mov ecx, dword [ebp + 0x1c]
add eax, dword [edi + 0x24]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, dword [edi + 0x20]
jl 0x437623
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x437596
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x4376a9
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.00414f10
add esp, 8
test eax, eax
jne 0x4376a9
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 0x43771b
mov dword [ebp - 0x18], 0
cmp eax, dword [edi + 0x28]
ja 0x437663
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 0x437596
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.00414f10
add esp, 8
test eax, eax
jne 0x437596
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 0x43771b
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x4376c8
jmp 0x437596
mov dword [ebp - 0x18], 1
mov eax, 3
jmp 0x4375a3
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 0x437756
mov dword [edi + 0x38], 1
add ebx, 3
jmp 0x4372c3
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 0x43777b
add ecx, 2
mov dword [ebp + 0x18], ecx
add ebx, 3
jmp 0x4372c3
cmp dword [edi + 0x94], eax
je 0x43d1a7
mov ebx, dword [edi + 0x94]
cmp dword [ebx + 4], eax
jne 0x43d1a7
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.004167a0
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 0x4372c3
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x20], eax
add ebx, 2
jmp 0x4372c3
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.00437273
add esp, 0x28
cmp eax, 1
je 0x437844
cmp eax, 0xfffffc19
je 0x437844
test eax, eax
je 0x43782e
cmp eax, 0xfffffc1e
jne 0x43eb17
cmp dword [edi + 0x70], ebx
jne 0x43eb17
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.0x4372e1.88
jmp 0x43784a
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
cmp byte [ebx], 0x55
je case.0x43e9d7.14
test byte [ebp + 0x28], 1
jne 0x43d3cc
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 0x437863
mov edx, dword [edi + 0x80]
add ebx, 3
mov dword [ebp + 0x18], edx
jmp 0x4372c3
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.00437273
add esp, 0x28
cmp eax, 1
je 0x43d149
cmp eax, 0xfffffc19
je 0x43d149
cmp eax, 0xfffffc1c
je 0x437906
cmp eax, 0xfffffc1b
je 0x437906
cmp eax, 0xfffffc1a
je 0x437906
test eax, eax
je 0x4378f0
cmp eax, 0xfffffc1e
jne 0x43eb17
cmp dword [edi + 0x70], ebx
jne 0x43eb17
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.0x4372e1.89
jmp 0x43791a
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x437906
test byte [ebp + 0x28], 1
jne 0x43d3cc
add ebx, 3
jmp 0x4372c3
cmp dword [ebp - 0x1c], eax
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 1]
je 0x437969
shl eax, 8
or eax, ecx
jle 0x437979
mov ecx, dword [edi + 0x68]
dec esi
dec eax
cmp esi, ecx
jb case.0x4372e1.115
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x437963
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x437957
test eax, eax
jg 0x437943
jmp 0x437979
shl eax, 8
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x68]
jb case.0x43e9d7.14
cmp esi, dword [edi + 0x78]
jae 0x437981
mov dword [edi + 0x78], esi
add ebx, 3
jmp 0x4372c3
cmp dword [0x4a7f20], eax
je 0x437a21
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 0x43d149
js 0x43eb17
add ebx, 6
jmp 0x4372c3
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.00437273
add esp, 0x28
cmp eax, 1
je 0x437a8f
test eax, eax
je 0x437a79
cmp eax, 0xfffffc1e
jne 0x43eb17
cmp dword [edi + 0x70], ebx
jne 0x43eb17
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437a33
jmp 0x437a95
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
mov al, byte [ebx]
cmp al, 0x5d
je 0x437aa3
cmp al, 0x54
jne 0x43d5d1
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437aa3
cmp byte [ebx], 0x55
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x74]
mov dword [ebp + 0x18], edx
je 0x437ad1
cmp esi, dword [ebp - 0x18]
jne 0x43cbed
add ebx, 3
jmp 0x4372c3
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.0x4372e1.84
jmp 0x4372c3
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
jmp 0x437b33
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
cmp byte [ebx], 0x54
je 0x437b33
add ebx, 3
jmp 0x4372c3
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 0x437b53
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
jmp 0x4372c3
inc ebx
jmp 0x437ba3
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437ba3
add ebx, 3
jmp 0x4372c3
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 0x437bec
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 0x437bf3
mov dword [ebp - 0x18], 0
cmp al, 0x58
je 0x43d40a
cmp al, 0x59
je 0x43d40a
cmp al, 0x5a
je 0x43d40a
cmp al, 0x5b
je 0x43d40a
cmp al, 0x5d
je 0x43d40a
cmp al, 0x5f
je 0x437c27
cmp al, 0x62
jne 0x437cc3
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 0x437c4e
mov dword [edi + 0x38], 1
jmp 0x437c79
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 0x437c79
add ecx, 2
mov dword [ebp + 0x18], ecx
cmp dword [edi + 0x94], 0
je 0x437cc3
mov ecx, dword [edi + 0x94]
cmp dword [ecx + 4], eax
jne 0x437cc3
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.00411030
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 0x4372c3
cmp byte [ebx], 0x55
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x20], eax
je 0x437cd7
cmp esi, dword [ebp - 0x18]
jne 0x43cc7f
add ebx, 3
jmp 0x4372c3
cmp dword [edi + 0x3c], eax
je 0x437ced
cmp esi, dword [edi + 0x68]
je case.0x43e9d7.14
test byte [ebp + 0x20], 2
je case.0x4372e1.1
mov ecx, dword [edi + 0x68]
cmp esi, ecx
je 0x437d67
cmp esi, dword [edi + 0x6c]
je 0x43d149
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437d36
cmp esi, ecx
jbe 0x43d149
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.0042e84b
add esp, 0x14
test eax, eax
je 0x43d149
inc ebx
jmp 0x4372c3
mov edx, dword [edi + 0x68]
add edx, dword [edi + 0x1c]
cmp esi, edx
jb 0x43d149
mov ecx, dword [edi + 0x1c]
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne 0x43d149
cmp ecx, 1
je 0x437d67
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne 0x43d149
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x68]
jne case.0x4372e1.115
inc ebx
jmp 0x4372c3
mov ecx, dword [edi + 0x88]
add ecx, dword [edi + 0x68]
cmp esi, ecx
jne case.0x43e9d7.14
inc ebx
jmp 0x4372c3
mov dword [ebp + 0x10], esi
inc ebx
jmp 0x4372c3
test byte [ebp + 0x20], 2
je 0x437e31
cmp esi, dword [edi + 0x6c]
jae 0x437e07
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437dd6
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.0042ea1f
add esp, 0x14
test eax, eax
je 0x43d149
inc ebx
jmp 0x4372c3
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43d149
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43d149
cmp dword [edi + 0x1c], 1
je 0x437e2b
mov dl, byte [esi + 1]
cmp dl, byte [edi + 0x2d]
jne 0x43d149
inc ebx
jmp 0x4372c3
cmp dword [edi + 0x40], eax
jne case.0x4372e1.115
cmp dword [edi + 0x7c], eax
je 0x437e2b
cmp esi, dword [edi + 0x78]
jbe 0x437e2b
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
inc ebx
jmp 0x4372c3
cmp dword [edi + 0x40], eax
jne 0x43d149
cmp dword [edi + 0x50], eax
je case.0x4372e1.23
cmp esi, dword [edi + 0x6c]
jb case.0x4372e1.115
jmp 0x437e10
cmp esi, dword [edi + 0x6c]
jae 0x437eaf
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437e76
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.0042ea1f
add esp, 0x14
test eax, eax
je 0x43d149
jmp 0x437ea1
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43d149
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43d149
cmp dword [edi + 0x1c], 1
je 0x437ea1
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne 0x43d149
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
jne 0x43d149
cmp dword [edi + 0x7c], 0
je 0x437e2b
cmp esi, dword [edi + 0x78]
jbe 0x437e2b
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d4bc
inc ebx
jmp 0x4372c3
cmp dword [ebp - 0x1c], eax
je 0x4380c6
cmp esi, dword [edi + 0x68]
je 0x437fcf
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x437f05
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x437ef9
cmp eax, dword [edi + 0x78]
jae 0x437f0d
mov dword [edi + 0x78], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x437fb7
test cl, 0x20
jne 0x437f2d
movzx eax, byte [eax + 1]
and ecx, 0x1f
jmp 0x437faf
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x10
jne 0x437f45
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x437fad
test cl, 8
jne 0x437f5c
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x437fa7
test cl, 4
jne 0x437f7f
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 0x437fa7
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 0x437fcf
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x437fcf
mov ecx, 1
jmp 0x437fd1
xor ecx, ecx
cmp esi, dword [edi + 0x6c]
jb 0x437ff9
cmp dword [edi + 0x7c], 0
je 0x437ff2
cmp esi, dword [edi + 0x78]
jbe 0x437ff2
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
xor eax, eax
jmp 0x438120
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x4380af
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43801d
and eax, 0x1f
shl eax, 6
jmp 0x4380ad
test al, 0x10
jne 0x43802f
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x4380a7
test al, 8
jne 0x43804d
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 0x4380a7
test al, 4
jne 0x438077
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 0x4380a7
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 0x43810c
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43810c
mov eax, 1
jmp 0x438120
cmp esi, dword [edi + 0x68]
jne 0x4380cf
xor ecx, ecx
jmp 0x4380eb
cmp esi, dword [edi + 0x78]
ja 0x4380da
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 0x438110
cmp dword [edi + 0x7c], 0
je 0x43810c
cmp esi, dword [edi + 0x78]
jbe 0x43810c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d450
xor eax, eax
jmp 0x438120
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 0x439948
cmp eax, ecx
jne 0x4372c3
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 0x438172
cmp esi, dword [edi + 0x6c]
jae case.0x4372e1.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.0042ea1f
add esp, 0x14
test eax, eax
jne case.0x43e9d7.14
jmp case.0x4372e1.13
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja case.0x4372e1.13
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x4372e1.13
cmp dword [edi + 0x1c], 1
je case.0x43e9d7.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x43e9d7.14
mov eax, dword [edi + 0x6c]
mov edx, esi
mov ecx, 1
add esi, ecx
cmp edx, eax
jae 0x43d431
cmp dword [ebp - 0x1c], 0
je 0x4381c7
cmp esi, eax
jae 0x4381c7
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x4381c7
add esi, ecx
cmp esi, eax
jb 0x4381b7
add ebx, ecx
jmp 0x4372c3
mov ecx, esi
mov eax, 1
add esi, eax
cmp ecx, dword [edi + 0x6c]
jae 0x43d465
add ebx, eax
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d499
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4382e5
cmp eax, 0xc0
jb 0x4382e5
test al, 0x20
jne 0x438221
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4382e5
test al, 0x10
jne 0x438247
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 0x4382e5
test al, 8
jne 0x438276
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 0x4382e5
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4382b1
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 0x4382e5
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 0x437e2b
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43d149
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d499
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438401
cmp eax, 0xc0
jb 0x438401
test al, 0x20
jne 0x43833d
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438401
test al, 0x10
jne 0x438363
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 0x438401
test al, 8
jne 0x438392
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 0x438401
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4383cd
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 0x438401
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 0x43d149
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43d149
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d499
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43851d
cmp eax, 0xc0
jb 0x43851d
test al, 0x20
jne 0x438459
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43851d
test al, 0x10
jne 0x43847f
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 0x43851d
test al, 8
jne 0x4384ae
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 0x43851d
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4384e9
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 0x43851d
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 0x437e2b
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d149
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d499
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438639
cmp eax, 0xc0
jb 0x438639
test al, 0x20
jne 0x438575
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438639
test al, 0x10
jne 0x43859b
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 0x438639
test al, 8
jne 0x4385ca
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 0x438639
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438605
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 0x438639
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 0x43d149
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43d149
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d499
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438755
cmp eax, 0xc0
jb 0x438755
test al, 0x20
jne 0x438691
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438755
test al, 0x10
jne 0x4386b7
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 0x438755
test al, 8
jne 0x4386e6
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 0x438755
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438721
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 0x438755
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 0x437e2b
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43d149
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d499
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438871
cmp eax, 0xc0
jb 0x438871
test al, 0x20
jne 0x4387ad
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438871
test al, 0x10
jne 0x4387d3
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 0x438871
test al, 8
jne 0x438802
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 0x438871
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43883d
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 0x438871
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 0x43d149
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43d149
inc ebx
jmp 0x4372c3
mov ecx, dword [edi + 0x6c]
cmp esi, ecx
jae 0x43d499
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438984
cmp eax, 0xc0
jb 0x438984
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x4388cb
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x438984
test al, 0x10
jne 0x4388eb
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 0x438984
test al, 8
jne 0x438914
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 0x438984
test al, 4
jne 0x438949
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 0x438984
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 0x4389bd
je 0x4389a5
cmp eax, 0xa
je 0x437e2b
jbe 0x43d149
cmp eax, 0xc
ja 0x43d149
jmp 0x4389da
cmp esi, ecx
jae 0x437e2b
cmp byte [esi], 0xa
jne 0x437e2b
inc esi
inc ebx
jmp 0x4372c3
cmp eax, 0x85
je 0x4389da
cmp eax, 0x2027
jbe 0x43d149
cmp eax, 0x2029
ja 0x43d149
cmp dword [edi + 0x60], 0
jne case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d4d1
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438ae8
cmp eax, 0xc0
jb 0x438ae8
test al, 0x20
jne 0x438a24
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x438ae8
test al, 0x10
jne 0x438a4a
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 0x438ae8
test al, 8
jne 0x438a79
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 0x438ae8
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x438ab4
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 0x438ae8
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 0x438b2b
je case.0x4372e1.115
cmp eax, 0xa0
ja 0x438b1a
je case.0x4372e1.115
cmp eax, 9
je case.0x4372e1.115
cmp eax, 0x20
je case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp eax, 0x1680
je case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp eax, 0x205f
ja 0x438b5f
je case.0x4372e1.115
cmp eax, 0x2000
jb 0x437e2b
cmp eax, 0x200a
jbe case.0x4372e1.115
cmp eax, 0x202f
je case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp eax, 0x3000
je case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d4d1
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438c6e
cmp eax, 0xc0
jb 0x438c6e
test al, 0x20
jne 0x438baa
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438c6e
test al, 0x10
jne 0x438bd0
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 0x438c6e
test al, 8
jne 0x438bff
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 0x438c6e
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438c3a
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 0x438c6e
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 0x438cb1
je 0x437e2b
cmp eax, 0xa0
ja 0x438ca0
je 0x437e2b
cmp eax, 9
je 0x437e2b
cmp eax, 0x20
jne case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp eax, 0x1680
jne case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp eax, 0x205f
ja 0x438ce5
je 0x437e2b
cmp eax, 0x2000
jb case.0x4372e1.115
cmp eax, 0x200a
jbe 0x437e2b
cmp eax, 0x202f
jne case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp eax, 0x3000
jne case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d4d1
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438df4
cmp eax, 0xc0
jb 0x438df4
test al, 0x20
jne 0x438d30
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x438df4
test al, 0x10
jne 0x438d56
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 0x438df4
test al, 8
jne 0x438d85
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 0x438df4
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x438dc0
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 0x438df4
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 0x438e19
je case.0x4372e1.115
cmp eax, 0xa
jb 0x437e2b
cmp eax, 0xd
jbe case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp eax, 0x2028
jb 0x437e2b
cmp eax, 0x2029
jbe case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp esi, dword [edi + 0x6c]
jae 0x43d4d1
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438f33
cmp eax, 0xc0
jb 0x438f33
test al, 0x20
jne 0x438e6f
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438f33
test al, 0x10
jne 0x438e95
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 0x438f33
test al, 8
jne 0x438ec4
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 0x438f33
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438eff
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 0x438f33
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 0x438f58
je 0x437e2b
cmp eax, 0xa
jb case.0x4372e1.115
cmp eax, 0xd
ja case.0x4372e1.115
inc ebx
jmp 0x4372c3
cmp eax, 0x2028
jb case.0x4372e1.115
cmp eax, 0x2029
ja case.0x4372e1.115
inc ebx
jmp 0x4372c3
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 0x438fa2
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + eax*4]
lea eax, [edx + eax*4]
test ecx, ecx
js 0x438fa2
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x438fb2
cmp dword [edi + 0x48], 0
je 0x438fac
xor edx, edx
jmp 0x438fb2
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.0x438fcb
movzx ecx, byte [ecx + 0x43eccf]
jmp dword [ecx*4 + 0x43ecc7]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x486e98]
movsx eax, byte [eax + 0x486ea0]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x43903c
mov eax, accept
mov dword [ebp - 0xc], eax
jmp 0x43903c
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 0x439036
mov eax, accept
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x10]
add ebx, 5
test edx, edx
je 0x4372c3
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x439086
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.0042ec38
add esp, 0x14
test eax, eax
je 0x43d5da
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 8]
jle 0x439053
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp ecx, eax
je 0x4372c3
cmp dword [ebp - 0x14], 0
je 0x43d52c
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e9d7.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.0042ec38
add esp, 0x14
test eax, eax
je 0x43d4ea
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.00437273
add esp, 0x28
test eax, eax
je 0x4390d3
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.0042ec38
add esp, 0x14
test eax, eax
je 0x43d5da
add esi, dword [ebp - 0x10]
jmp 0x4372c3
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.0x439178
movzx edx, byte [edx + 0x43ecdf]
jmp dword [edx*4 + 0x43ecd7]
add eax, 0xffffffba
movzx edx, al
and edx, 1
mov dword [ebp - 0x14], edx
movsx edx, byte [eax + 0x486e98]
movsx eax, byte [eax + 0x486ea0]
inc ebx
mov dword [ebp - 0xc], eax
test eax, eax
mov dword [ebp - 8], edx
mov eax, 1
jne 0x439200
mov dword [ebp - 0xc], accept
jmp 0x439200
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 0x4391e6
mov dword [ebp - 0xc], accept
mov edx, dword [ebp - 8]
add ebx, 5
mov eax, 1
jmp 0x439200
mov eax, 1
mov edx, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
cmp dword [ebp - 0x1c], 0
je 0x439349
mov dword [ebp + 0x1c], 1
cmp edx, 1
jl 0x43938b
cmp esi, dword [edi + 0x6c]
jae 0x43d600
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x439306
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43924a
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x439303
test al, 0x10
jne 0x43926a
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 0x439303
test al, 8
jne 0x439293
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 0x439303
test al, 4
jne 0x4392c8
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 0x439303
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 0x439318
cmp ecx, 0x4e
je 0x43d149
jmp 0x43933b
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.0x4372e1.115
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], edx
jle 0x43921a
jmp 0x43938b
mov dword [ebp + 0x1c], eax
cmp edx, eax
jl 0x43938b
cmp esi, dword [edi + 0x6c]
jae 0x43d639
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.0x4372e1.115
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jle 0x439350
mov ecx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x4372c3
cmp dword [ebp - 0x14], 0
mov dword [ebp + 0x1c], edx
je 0x43d81c
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x43d781
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x4372e1.115
cmp esi, dword [edi + 0x6c]
jae 0x43d639
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43d71a
test al, 0x20
jne 0x43d656
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43d71a
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.0x43944c
movzx edx, byte [edx + 0x43ecef]
jmp dword [edx*4 + 0x43ece7]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x486e98]
movsx eax, byte [eax + 0x486ea0]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x4394c6
mov eax, accept
jmp 0x4394c3
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 0x4394b4
mov eax, accept
mov dword [ebp - 0xc], eax
add ebx, 5
jmp 0x4394c6
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 0x4395fe
cmp esi, dword [edi + 0x6c]
jae 0x43d600
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4395d4
cmp eax, 0xc0
jb 0x4395d4
test al, 0x20
jne 0x439510
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x4395d4
test al, 0x10
jne 0x439536
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 0x4395d4
test al, 8
jne 0x439565
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 0x4395d4
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x4395a0
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 0x4395d4
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.0042e367
add esp, 8
test eax, eax
je 0x43d149
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x4394d6
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x4372c3
cmp dword [ebp - 0x14], 0
je 0x43dbd8
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e9d7.14
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43db63
cmp eax, 0xc0
jb 0x43db63
test al, 0x20
jne 0x43da9f
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43db63
cmp dword [ebp - 0x1c], eax
je 0x439709
mov edx, 1
movzx ecx, byte [ebx + edx]
add ebx, edx
mov eax, edx
cmp ecx, 0xc0
jb 0x4396db
test cl, 0x20
jne 0x4396b5
lea eax, [edx + 1]
jmp 0x4396db
test cl, 0x10
jne 0x4396c1
mov eax, 3
jmp 0x4396db
test cl, 8
jne 0x4396cd
mov eax, 4
jmp 0x4396db
test cl, 4
mov eax, 0
setne al
add eax, 5
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp eax, ecx
jg 0x43dddf
test eax, eax
jle 0x4372c3
mov dl, byte [ebx]
mov cl, byte [esi]
dec eax
inc esi
inc ebx
cmp dl, cl
jne 0x43d149
test eax, eax
jle 0x4372c3
jmp 0x4396f0
mov edx, dword [edi + 0x6c]
sub edx, esi
mov eax, 1
cmp edx, eax
jl 0x43de1c
mov cl, byte [esi]
add esi, eax
cmp byte [ebx + 1], cl
jne 0x43d149
add ebx, 2
jmp 0x4372c3
cmp dword [ebp - 0x1c], eax
je 0x439962
movzx eax, byte [ebx + 1]
inc ebx
mov ecx, 1
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x1c], eax
cmp eax, 0xc0
jb 0x439827
test al, 0x20
jne 0x439771
movzx edx, byte [ebx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
mov ecx, 2
jmp 0x439824
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
and ecx, 0x3f
and edx, 0x3f
test al, 0x10
jne 0x43979a
and eax, 0xf
shl eax, 6
or eax, ecx
shl eax, 6
or eax, edx
mov ecx, 3
jmp 0x439824
test al, 8
jne 0x4397be
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 0x439824
test al, 4
jne 0x4397ee
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 0x439824
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 0x43de34
movzx ecx, byte [esi]
inc esi
cmp eax, 0x80
jae 0x439864
mov eax, dword [edi + 0x30]
mov dl, byte [ecx + eax]
mov ecx, dword [ebp + 0x1c]
inc ebx
cmp byte [ecx + eax], dl
je 0x4372c3
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 0x439945
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x439889
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x439945
test cl, 0x10
jne 0x4398aa
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 0x439945
test cl, 8
jne 0x4398d4
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 0x439945
test cl, 4
jne 0x43990a
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 0x439945
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 0x4372c3
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 0x43d465
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.0x4372e1.115
add ebx, 2
jmp 0x4372c3
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 0x439a3a
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 0x439a3a
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], eax
add ebx, edx
jmp 0x439a35
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], edx
add ebx, edx
jmp 0x439a35
mov edx, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], edx
mov eax, edx
add ebx, edx
jmp 0x439a3a
add ecx, 0xffffffe1
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x486e98]
mov dword [ebp - 8], eax
movsx eax, byte [ecx + 0x486ea0]
add ebx, edx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x439a3d
mov eax, accept
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x1c], 0
movzx ecx, byte [ebx]
mov dword [ebp - 4], ecx
je 0x439c82
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x24], ebx
cmp ecx, 0xc0
jb 0x439b47
movzx edx, byte [ebx + 1]
and edx, 0x3f
test cl, 0x20
jne 0x439a7d
and ecx, 0x1f
shl ecx, 6
or ecx, edx
mov edx, 2
jmp 0x439b41
test cl, 0x10
jne 0x439aa0
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 0x439b41
test cl, 8
jne 0x439acc
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 0x439b41
test cl, 4
jne 0x439b04
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 0x439b41
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 0x439c84
mov ecx, dword [ebp - 8]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x439b9d
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x43d5da
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00411bb3
add esp, 0xc
test eax, eax
jne 0x43d5da
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 0x439b61
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x4372c3
cmp dword [ebp - 0x14], 0
jne 0x43de4c
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x439c0b
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x439bea
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00411bb3
add esp, 0xc
test eax, eax
jne 0x439bea
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 0x439bb9
jmp 0x439c0b
cmp dword [edi + 0x7c], 0
je 0x439c0b
cmp esi, dword [edi + 0x6c]
jb 0x439c0b
cmp esi, dword [edi + 0x78]
jbe 0x439c0b
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
cmp dword [ebp - 0x18], 0
jne 0x4372c3
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
cmp esi, dword [ebp - 0x14]
je case.0x43e9d7.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.00437273
add esp, 0x28
test eax, eax
je 0x439c46
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ebx, edx
test byte [ebp + 0x20], 1
je 0x439d98
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 0x439ce3
jmp 0x439cb8
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43df15
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
jne case.0x43e9d7.14
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc edx
mov dword [ebp + 0x1c], edx
cmp edx, ecx
jle 0x439cb3
cmp ecx, eax
je 0x4372c3
cmp dword [ebp - 0x14], 0
jne 0x43df39
mov dword [ebp - 0x14], esi
cmp ecx, eax
jge 0x439d3d
mov dword [ebp + 0x1c], ecx
cmp esi, dword [edi + 0x6c]
jae 0x439d21
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
jne 0x439d3d
mov ecx, dword [ebp + 0x1c]
inc ecx
inc esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jl 0x439cff
jmp 0x439d3d
cmp dword [edi + 0x7c], 0
je 0x439d3d
cmp esi, dword [edi + 0x78]
jbe 0x439d3d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
cmp dword [ebp - 0x18], 0
jne 0x4372c3
cmp esi, dword [ebp - 0x14]
jb 0x439d86
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.00437273
add esp, 0x28
dec esi
test eax, eax
jne 0x43eb17
cmp esi, dword [ebp - 0x14]
jae 0x439d53
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 0x439dcd
cmp esi, dword [edi + 0x6c]
jae 0x43d639
movzx edx, byte [esi]
inc esi
cmp ecx, edx
jne case.0x4372e1.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 0x439da7
cmp edx, eax
je 0x4372c3
cmp dword [ebp - 0x14], 0
mov edx, dword [ebp - 8]
mov dword [ebp + 0x1c], edx
jne 0x43dfcf
mov dword [ebp - 0x14], esi
cmp edx, eax
jge 0x439e22
cmp esi, dword [edi + 0x6c]
jae 0x439e06
movzx edx, byte [esi]
cmp ecx, edx
jne 0x439e22
mov edx, dword [ebp + 0x1c]
inc edx
inc esi
mov dword [ebp + 0x1c], edx
cmp edx, eax
jl 0x439dec
jmp 0x439e22
cmp dword [edi + 0x7c], 0
je 0x439e22
cmp esi, dword [edi + 0x78]
jbe 0x439e22
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
cmp dword [ebp - 0x18], 0
jne 0x4372c3
cmp esi, dword [ebp - 0x14]
jb 0x439e6b
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.00437273
add esp, 0x28
dec esi
test eax, eax
jne 0x43eb17
cmp esi, dword [ebp - 0x14]
jae 0x439e38
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 0x43d4d1
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x439f7b
cmp eax, 0xc0
jb 0x439f7b
test al, 0x20
jne 0x439eb7
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x439f7b
test al, 0x10
jne 0x439edd
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 0x439f7b
test al, 8
jne 0x439f0c
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 0x439f7b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x439f47
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 0x439f7b
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 0x439fb7
cmp eax, 0x100
jae 0x439f8f
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 0x4372c3
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 0x4372c3
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 0x43a07e
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 0x43a081
mov edx, 1
xor eax, eax
mov dword [ebp - 0x18], edx
add ebx, edx
jmp 0x43a079
mov eax, 1
mov dword [ebp - 0x18], eax
add ebx, eax
jmp 0x43a079
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x18], ecx
add ebx, ecx
jmp 0x43a07e
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 0x43a07e
add ecx, 0xffffffd4
movzx eax, cl
and eax, 1
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x486e98]
movsx ecx, byte [ecx + 0x486ea0]
inc ebx
mov dword [ebp - 0xc], ecx
test ecx, ecx
jne 0x43a081
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 0x43a48b
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 0x43a1cd
cmp eax, 1
jl 0x43a1fa
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43a1a4
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x43a0e8
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x43a1a4
test cl, 0x10
jne 0x43a109
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 0x43a1a4
test cl, 8
jne 0x43a133
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 0x43a1a4
test cl, 4
jne 0x43a169
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 0x43a1a4
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 0x43a1b3
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
cmp dword [ebp - 4], ecx
je case.0x43e9d7.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a0b6
jmp 0x43a1fa
cmp eax, 1
jl 0x43a1fa
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43e9d7.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a1d2
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x4372c3
cmp dword [ebp - 0x14], 0
jne 0x43e058
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43a3f3
mov dword [ebp + 0x1c], eax
cmp eax, edx
jge 0x43a367
mov eax, 1
cmp esi, dword [edi + 0x6c]
jae 0x43a350
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x43a326
movzx eax, byte [esi + 1]
and eax, 0x3f
test cl, 0x20
jne 0x43a262
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x43a326
test cl, 0x10
jne 0x43a285
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 0x43a326
test cl, 8
jne 0x43a2b1
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 0x43a326
test cl, 4
jne 0x43a2e9
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 0x43a326
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 0x43a338
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp - 4], ecx
je 0x43a367
add esi, eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43a227
jmp 0x43a367
cmp dword [edi + 0x7c], 0
je 0x43a367
cmp esi, dword [edi + 0x78]
jbe 0x43a367
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
cmp dword [ebp - 0x18], 0
jne 0x4372c3
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
nop
mov edx, esi
dec esi
cmp edx, dword [ebp - 0x14]
je 0x43a479
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a3c3
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43a3b7
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.00437273
add esp, 0x28
test eax, eax
je 0x43a3a3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edx
jge 0x43a430
cmp esi, dword [edi + 0x6c]
jae 0x43a414
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
je 0x43a430
inc eax
inc esi
cmp eax, dword [ebp - 0xc]
jl 0x43a3f7
jmp 0x43a430
cmp dword [edi + 0x7c], 0
je 0x43a430
cmp esi, dword [edi + 0x78]
jbe 0x43a430
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
cmp dword [ebp - 0x18], 0
jne 0x4372c3
cmp esi, dword [ebp - 0x14]
jb 0x43a479
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43a446
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 0x43a5ce
cmp eax, edx
jl 0x43a5fd
cmp esi, dword [edi + 0x6c]
jae 0x43e26f
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43a5ae
test cl, 0x20
jne 0x43a4d8
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
inc esi
jmp 0x43a5ae
test cl, 0x10
jne 0x43a4ff
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 0x43a5ae
test cl, 8
jne 0x43a532
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 0x43a5ae
test cl, 4
jne 0x43a56e
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 0x43a5ae
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.0x4372e1.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a4a5
jmp 0x43a5fa
cmp eax, edx
jl 0x43a5fd
cmp esi, dword [edi + 0x6c]
jae 0x43e26f
movzx ecx, byte [esi]
add esi, edx
cmp dword [ebp - 4], ecx
je case.0x4372e1.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a5d2
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
je 0x4372c3
cmp dword [ebp - 0x14], 0
jne 0x43e28d
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43a7df
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jge 0x43a750
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43a739
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43a721
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43a660
and eax, 0x1f
shl eax, 6
or eax, edx
mov edx, 2
jmp 0x43a721
test al, 0x10
jne 0x43a682
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 0x43a721
test al, 8
jne 0x43a6ad
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 0x43a721
test al, 4
jne 0x43a6e4
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 0x43a721
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 0x43a750
mov eax, dword [ebp + 0x1c]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jl 0x43a627
jmp 0x43a750
cmp dword [edi + 0x7c], 0
je 0x43a750
cmp esi, dword [edi + 0x78]
jbe 0x43a750
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jg 0x43d450
cmp dword [ebp - 0x18], 0
jne 0x4372c3
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43a866
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43a7af
mov edi, edi
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43a7a3
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.00437273
add esp, 0x28
test eax, eax
je 0x43a78b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
cmp eax, ecx
jge 0x43a816
cmp esi, dword [edi + 0x6c]
jae 0x43a7fa
movzx eax, byte [esi]
cmp dword [ebp - 4], eax
je 0x43a816
inc edx
inc esi
cmp edx, ecx
jl 0x43a7e5
jmp 0x43a816
cmp dword [edi + 0x7c], 0
je 0x43a816
cmp esi, dword [edi + 0x78]
jbe 0x43a816
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d450
cmp dword [ebp - 0x18], 0
jne 0x4372c3
cmp esi, dword [ebp - 0x14]
jb 0x43a866
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43a833
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 0x43a93b
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 0x43a93e
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 8], ecx
inc ebx
jmp 0x43a936
mov ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], ecx
add ebx, ecx
jmp 0x43a936
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], ecx
add ebx, edx
jmp 0x43a93b
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 0x43a93b
lea eax, [ecx - 0x39]
movsx edx, byte [eax + 0x486ea0]
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x486e98]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edx
test edx, edx
jne 0x43a93e
mov edx, accept
mov dword [ebp - 0xc], edx
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x43b78e
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
je 0x43b3fa
cmp eax, 0xf
ja case.0x43e9bd.15
jmp dword [eax*4 + 0x43ecf7]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43a9b0
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.0042ea1f
add esp, 0x14
test eax, eax
jne case.0x43e9d7.14
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43a9d7
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43a9d7
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43a9d7
cmp dword [edi + 0x1c], 1
je case.0x43e9d7.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x43e9d7.14
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43a9f1
lea ebx, [ebx]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a9f1
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43a9e3
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43a97a
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
jmp 0x43aa13
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43dbaf
inc esi
cmp esi, eax
jae 0x43aa31
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43aa31
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43aa23
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43aa13
jmp 0x43b78e
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja case.0x43e9d7.14
add esi, ecx
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43ab57
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43aa98
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43ab51
test al, 0x10
jne 0x43aab8
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 0x43ab51
test al, 8
jne 0x43aae1
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 0x43ab51
test al, 4
jne 0x43ab16
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 0x43ab51
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 0x43ab83
je 0x43ab76
cmp dword [ebp - 4], 0xa
je 0x43aba7
mov eax, dword [ebp - 4]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x43e9d7.14
jmp 0x43ab9d
cmp esi, dword [edi + 0x6c]
jae 0x43aba7
cmp byte [esi], 0xa
jne 0x43aba7
inc esi
jmp 0x43aba7
cmp dword [ebp - 4], 0x85
je 0x43ab9d
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x43e9d7.14
cmp dword [edi + 0x60], 0
jne 0x43d149
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43aa65
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43acba
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43abfb
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43acb4
test al, 0x10
jne 0x43ac1b
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 0x43acb4
test al, 8
jne 0x43ac44
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 0x43acb4
test al, 4
jne 0x43ac79
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 0x43acb4
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 0x43acfd
je 0x43d149
cmp dword [ebp - 4], 0xa0
ja 0x43acee
je 0x43d149
cmp dword [ebp - 4], 9
je 0x43d149
cmp dword [ebp - 4], 0x20
je 0x43d149
jmp 0x43ad3e
cmp dword [ebp - 4], 0x1680
je 0x43d149
jmp 0x43ad3e
cmp dword [ebp - 4], 0x205f
ja 0x43ad31
je 0x43d149
cmp dword [ebp - 4], 0x2000
jb 0x43ad3e
cmp dword [ebp - 4], 0x200a
jbe 0x43d149
cmp dword [ebp - 4], 0x202f
je 0x43d149
jmp 0x43ad3e
cmp dword [ebp - 4], 0x3000
je 0x43d149
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43abc8
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43ae51
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ad92
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43ae4b
test al, 0x10
jne 0x43adb2
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 0x43ae4b
test al, 8
jne 0x43addb
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 0x43ae4b
test al, 4
jne 0x43ae10
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 0x43ae4b
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 0x43ae88
je 0x43aec5
cmp dword [ebp - 4], 0xa0
ja 0x43ae79
je 0x43aec5
cmp dword [ebp - 4], 9
je 0x43aec5
cmp dword [ebp - 4], 0x20
jne 0x43d149
jmp 0x43aec5
cmp dword [ebp - 4], 0x1680
jne 0x43d149
jmp 0x43aec5
cmp dword [ebp - 4], 0x205f
ja 0x43aeb8
je 0x43aec5
cmp dword [ebp - 4], 0x2000
jb 0x43d149
cmp dword [ebp - 4], 0x200a
jbe 0x43aec5
cmp dword [ebp - 4], 0x202f
jne 0x43d149
jmp 0x43aec5
cmp dword [ebp - 4], 0x3000
jne 0x43d149
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ad5f
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43afd8
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43af19
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43afd2
test al, 0x10
jne 0x43af39
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 0x43afd2
test al, 8
jne 0x43af62
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 0x43afd2
test al, 4
jne 0x43af97
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 0x43afd2
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 0x43aff9
je 0x43d149
cmp dword [ebp - 4], 0xa
jb 0x43b00f
cmp dword [ebp - 4], 0xd
jbe 0x43d149
jmp 0x43b00f
cmp dword [ebp - 4], 0x2028
jb 0x43b00f
cmp dword [ebp - 4], 0x2029
jbe 0x43d149
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43aee6
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b122
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43b063
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b11c
test al, 0x10
jne 0x43b083
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 0x43b11c
test al, 8
jne 0x43b0ac
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 0x43b11c
test al, 4
jne 0x43b0e1
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 0x43b11c
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 0x43b13e
je 0x43b14f
mov eax, dword [ebp - 4]
add eax, 0xfffffff6
cmp eax, 3
ja 0x43d149
jmp 0x43b14f
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43d149
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b030
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b262
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43b1a3
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b25c
test al, 0x10
jne 0x43b1c3
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 0x43b25c
test al, 8
jne 0x43b1ec
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 0x43b25c
test al, 4
jne 0x43b221
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 0x43b25c
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 0x43b27e
mov eax, dword [edi + 0x34]
mov edx, dword [ebp - 4]
test byte [edx + eax], 4
jne 0x43d149
mov edx, dword [ebp - 0xc]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b170
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
mov al, byte [esi]
cmp al, 0x80
jae 0x43d149
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
inc esi
and al, 4
je 0x43d149
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b29f
jmp 0x43b78b
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
mov al, byte [esi]
cmp al, 0x80
jae 0x43b306
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne 0x43d149
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43b314
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43b306
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b2e4
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
mov al, byte [esi]
cmp al, 0x80
jae 0x43d149
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
je 0x43d149
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b331
jmp 0x43b78b
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
mov al, byte [esi]
cmp al, 0x80
jae 0x43b399
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 0x10
jne 0x43d149
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43b3a7
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43b399
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b377
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43d600
mov al, byte [esi]
cmp al, 0x80
jae 0x43d149
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
je 0x43d149
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b3c4
jmp 0x43b78b
cmp eax, 0xf
ja case.0x43e9bd.15
jmp dword [eax*4 + 0x43ed37]
cmp ecx, 1
jl 0x43b78e
mov dword [ebp + 0x1c], 1
cmp esi, dword [edi + 0x6c]
jae 0x43d600
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b44e
mov edx, dword [edi + 0x6c]
push 0
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.0042ea1f
add esp, 0x14
test eax, eax
jne 0x43d149
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43b475
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b475
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43b475
cmp dword [edi + 0x1c], 1
je 0x43d149
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43d149
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b41a
jmp 0x43b78e
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43d600
add esi, ecx
jmp 0x43b78e
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43dbaf
add esi, ecx
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
jmp 0x43b4c3
cmp esi, dword [edi + 0x6c]
jae 0x43d639
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x43e9d7.14
movzx eax, byte [eax + 0x43ed87]
jmp dword [eax*4 + 0x43ed77]
cmp esi, dword [edi + 0x6c]
jae case.0x43b4e3.10
cmp byte [esi], 0xa
jne case.0x43b4e3.10
inc esi
jmp case.0x43b4e3.10
cmp dword [edi + 0x60], 0
jne case.0x4372e1.115
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b4c3
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x43e9d7.14
cmp eax, 0x20
je case.0x43e9d7.14
cmp eax, 0xa0
je case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b523
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43b595
cmp eax, 0x20
je 0x43b595
cmp eax, 0xa0
jne case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b573
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43b5db
cmp eax, 0xd
jle case.0x43e9d7.14
cmp eax, 0x85
je case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b5b5
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
jmp 0x43b603
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x43e9d7.14
cmp eax, 0xd
jle 0x43b629
cmp eax, 0x85
jne case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b603
jmp 0x43b78e
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 4
jne case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b649
jmp 0x43b78b
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 4
je case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b685
jmp 0x43b78b
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
jne case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b6c0
jmp 0x43b78b
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 1
je case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b6fc
jmp 0x43b78b
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
jne case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b730
jmp 0x43b78b
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b78e
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 0x10
je case.0x43e9d7.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b765
mov edx, dword [ebp - 0xc]
cmp ecx, edx
je 0x4372c3
cmp dword [ebp - 0x14], 0
jne 0x43e4a4
mov eax, dword [ebp - 0x10]
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43c69d
cmp eax, 0xf
ja case.0x43e9bd.15
jmp dword [eax*4 + 0x43ee03]
mov dword [ebp + 0x1c], ecx
cmp edx, 0x7fffffff
jge 0x43b866
cmp ecx, edx
jge 0x43c60c
cmp esi, dword [edi + 0x6c]
jae 0x43b998
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b80d
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.0042ea1f
add esp, 0x14
test eax, eax
jne 0x43c60c
mov edx, dword [ebp - 0xc]
jmp 0x43b834
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b834
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43b834
cmp dword [edi + 0x1c], 1
je 0x43c60c
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c60c
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43b852
lea esp, [esp]
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b852
inc esi
cmp esi, eax
jb 0x43b843
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b7da
jmp 0x43c60c
cmp ecx, edx
jge 0x43c60c
jmp 0x43b873
cmp esi, dword [edi + 0x6c]
jae 0x43b8f2
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b8a2
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.0042ea1f
add esp, 0x14
test eax, eax
jne 0x43c60c
mov edx, dword [ebp - 0xc]
jmp 0x43b8c9
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b8c9
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43b8c9
cmp dword [edi + 0x1c], 1
je 0x43c60c
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c60c
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43b8e2
mov edi, edi
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b8e2
inc esi
cmp esi, eax
jb 0x43b8d3
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b873
jmp 0x43c60c
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
jmp 0x43c60c
cmp edx, 0x7fffffff
jge 0x43b982
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43b959
inc esi
cmp esi, eax
jae 0x43b949
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b949
inc esi
cmp esi, eax
jb 0x43b93a
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jl 0x43b931
jmp 0x43c60c
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d450
jmp 0x43c60c
mov esi, dword [edi + 0x6c]
jmp 0x43c60c
mov eax, dword [edi + 0x6c]
sub edx, ecx
sub eax, esi
cmp edx, eax
jbe 0x43b9c1
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d624
jmp 0x43c60c
add esi, edx
jmp 0x43c60c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
mov ecx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43bb2c
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bacd
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43ba0c
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x43bacd
test al, 0x10
jne 0x43ba2e
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 0x43bacd
test al, 8
jne 0x43ba59
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 0x43bacd
test al, 4
jne 0x43ba90
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 0x43bacd
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 0x43bae4
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43c60c
cmp byte [esi], 0xa
jne 0x43bb18
inc esi
jmp 0x43bb18
cmp eax, 0xa
je 0x43bb16
cmp dword [edi + 0x60], 0
jne 0x43c60c
cmp eax, 0xb
je 0x43bb16
cmp eax, 0xc
je 0x43bb16
cmp eax, 0x85
je 0x43bb16
cmp eax, 0x2028
je 0x43bb16
cmp eax, 0x2029
jne 0x43c60c
add esi, ecx
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b9d3
jmp 0x43c60c
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d484
jmp 0x43c60c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
mov ecx, 1
lea ecx, [ecx]
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bcd2
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 - 8], 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 - 8], 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 - 8], 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 - 8], 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 - 8], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x180e
ja 0x43bca5
je 0x43bc67
cmp eax, 0xa0
ja 0x43bc9a
je 0x43bc67
cmp eax, 9
je 0x43bc67
cmp eax, 0x20
jne 0x43bcce
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x10], 0x12
sete al
cmp ecx, eax
je 0x43c60c
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 0x43bb63
jmp 0x43c60c
cmp eax, 0x1680
je 0x43bc67
xor ecx, ecx
jmp 0x43bc6c
cmp eax, 0x205f
ja 0x43bcc7
je 0x43bc67
cmp eax, 0x2000
jb 0x43bcce
cmp eax, 0x200a
jbe 0x43bc67
cmp eax, 0x202f
je 0x43bc67
xor ecx, ecx
jmp 0x43bc6c
cmp eax, 0x3000
je 0x43bc67
xor ecx, ecx
jmp 0x43bc6c
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d450
jmp 0x43c60c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
mov ecx, 1
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43be42
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bdee
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bd3d
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43bdec
test al, 0x10
jne 0x43bd59
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43bde6
test al, 8
jne 0x43bd7e
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 0x43bde6
test al, 4
jne 0x43bdaf
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 0x43bde6
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 0x43be31
je 0x43be3b
cmp eax, 0xa
jb 0x43be01
cmp eax, 0xd
jbe 0x43be3b
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x10], 0x14
sete al
cmp ecx, eax
je 0x43c60c
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 0x43bd06
jmp 0x43c60c
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43be01
mov ecx, 1
jmp 0x43be03
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d624
jmp 0x43c60c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
mov edi, edi
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43bf8b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bf60
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43beaf
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43bf5e
test al, 0x10
jne 0x43becb
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43bf58
test al, 8
jne 0x43bef0
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 0x43bf58
test al, 4
jne 0x43bf21
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 0x43bf58
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 0x43bf74
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43c60c
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43be73
jmp 0x43c60c
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
jmp 0x43c60c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bcd2
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c0ab
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bffa
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c0a9
test al, 0x10
jne 0x43c016
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c0a3
test al, 8
jne 0x43c03b
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 0x43c0a3
test al, 4
jne 0x43c06c
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 0x43c0a3
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 0x43c60c
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43c60c
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 0x43bfc3
jmp 0x43c60c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
jmp 0x43c0f3
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c20b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c1e0
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c12f
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c1de
test al, 0x10
jne 0x43c14b
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c1d8
test al, 8
jne 0x43c170
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 0x43c1d8
test al, 4
jne 0x43c1a1
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 0x43c1d8
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 0x43c1f4
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43c60c
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c0f3
jmp 0x43c60c
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d624
jmp 0x43c60c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c360
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c32b
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c27a
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c329
test al, 0x10
jne 0x43c296
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c323
test al, 8
jne 0x43c2bb
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 0x43c323
test al, 4
jne 0x43c2ec
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 0x43c323
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 0x43c60c
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43c60c
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 0x43c243
jmp 0x43c60c
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d484
jmp 0x43c60c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
lea esp, [esp]
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c4ab
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c480
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c3cf
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c47e
test al, 0x10
jne 0x43c3eb
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c478
test al, 8
jne 0x43c410
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 0x43c478
test al, 4
jne 0x43c441
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 0x43c478
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 0x43c494
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43c60c
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c393
jmp 0x43c60c
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d450
jmp 0x43c60c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c60c
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c5f5
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c5cb
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c51a
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c5c9
test al, 0x10
jne 0x43c536
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c5c3
test al, 8
jne 0x43c55b
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 0x43c5c3
test al, 4
jne 0x43c58c
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 0x43c5c3
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 0x43c60c
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43c60c
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 0x43c4e3
jmp 0x43c60c
cmp dword [edi + 0x7c], 0
je 0x43c60c
cmp esi, dword [edi + 0x78]
jbe 0x43c60c
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d624
cmp dword [ebp - 0x18], 0
jne 0x4372c3
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43caa7
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43c66d
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43c663
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.00437273
add esp, 0x28
test eax, eax
je 0x43c647
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xf
ja case.0x43e9bd.15
jmp dword [eax*4 + 0x43ee43]
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca5e
cmp esi, dword [edi + 0x6c]
jae 0x43c71d
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43c6e5
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042ea1f
add esp, 0x14
test eax, eax
jne 0x43ca5e
mov edx, dword [ebp - 0xc]
jmp 0x43c70c
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43c70c
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43c70c
cmp dword [edi + 0x1c], 1
je 0x43ca5e
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43ca5e
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c6b8
jmp 0x43ca5e
cmp dword [edi + 0x7c], 0
je 0x43ca5e
cmp esi, dword [edi + 0x78]
jbe 0x43ca5e
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d624
jmp 0x43ca5e
sub edx, ecx
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp edx, ecx
jbe 0x43c77d
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43ca5e
cmp esi, dword [edi + 0x78]
jbe 0x43ca5e
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
jmp 0x43ca5e
add esi, edx
jmp 0x43ca5e
cmp ecx, edx
jge 0x43ca5e
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43c7e0
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43c7b1
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43ca5e
cmp byte [esi], 0xa
jne 0x43c7d6
jmp 0x43c7d5
cmp eax, 0xa
je 0x43c7d5
cmp dword [edi + 0x60], 0
jne 0x43ca5e
cmp eax, 0xb
je 0x43c7d5
cmp eax, 0xc
je 0x43c7d5
cmp eax, 0x85
jne 0x43ca5e
inc esi
inc ecx
cmp ecx, edx
jl 0x43c793
jmp 0x43ca5e
cmp dword [edi + 0x7c], 0
je 0x43ca5e
cmp esi, dword [edi + 0x78]
jbe 0x43ca5e
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d450
jmp 0x43ca5e
cmp ecx, edx
jge 0x43ca5e
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43c71d
movzx eax, byte [esi]
cmp eax, 9
je 0x43ca5e
cmp eax, 0x20
je 0x43ca5e
cmp eax, 0xa0
je 0x43ca5e
inc ecx
inc esi
cmp ecx, edx
jl 0x43c813
jmp 0x43ca5e
cmp ecx, edx
jge 0x43ca5e
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43c754
movzx eax, byte [esi]
cmp eax, 9
je 0x43c874
cmp eax, 0x20
je 0x43c874
cmp eax, 0xa0
jne 0x43ca5e
inc ecx
inc esi
cmp ecx, edx
jl 0x43c853
jmp 0x43ca5e
cmp ecx, edx
jge 0x43ca5e
cmp esi, dword [edi + 0x6c]
jae 0x43c7e0
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43ca5e
cmp eax, 0xb
je 0x43ca5e
cmp eax, 0xc
je 0x43ca5e
cmp eax, 0xd
je 0x43ca5e
cmp eax, 0x85
je 0x43ca5e
inc ecx
inc esi
cmp ecx, edx
jl 0x43c887
jmp 0x43ca5e
cmp ecx, edx
jge 0x43ca5e
cmp esi, dword [edi + 0x6c]
jae 0x43c71d
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43c900
cmp eax, 0xb
je 0x43c900
cmp eax, 0xc
je 0x43c900
cmp eax, 0xd
je 0x43c900
cmp eax, 0x85
jne 0x43ca5e
inc ecx
inc esi
cmp ecx, edx
jl 0x43c8d5
jmp 0x43ca5e
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca5e
cmp esi, dword [edi + 0x6c]
jae 0x43c754
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43ca5e
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c916
jmp 0x43ca5e
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca5e
jmp 0x43c953
cmp esi, dword [edi + 0x6c]
jae 0x43c7e0
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43ca5e
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c953
jmp 0x43ca5e
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca5e
cmp esi, dword [edi + 0x6c]
jae 0x43c71d
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43ca5e
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c988
jmp 0x43ca5e
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca5e
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43c754
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43ca5e
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c9c3
jmp 0x43ca5e
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca5e
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43c7e0
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43ca5e
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c9f3
jmp 0x43ca5e
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43ca5e
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43ca42
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43ca5e
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43ca23
jmp 0x43ca5e
cmp dword [edi + 0x7c], 0
je 0x43ca5e
cmp esi, dword [edi + 0x78]
jbe 0x43ca5e
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d624
cmp dword [ebp - 0x18], 0
jne 0x4372c3
cmp esi, dword [ebp - 0x14]
jb 0x43caa7
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.00437273
add esp, 0x28
dec esi
test eax, eax
jne 0x43eb17
cmp esi, dword [ebp - 0x14]
jae 0x43ca74
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 0x43cae7
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 0x43cad3
add ebx, 3
cmp dword [ebp - 4], 0x63
jne 0x43cd02
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.00437273
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 0x43d06c
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 0x43cbd2
nop
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
add eax, ebx
push eax
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
je 0x43cbaf
cmp eax, 0xfffffc1e
jne 0x43eb17
cmp dword [edi + 0x70], ebx
jne 0x43eb17
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 0x43cb63
cmp dword [ebp + 0x28], 0
jne 0x43d15b
movzx edx, byte [ebx]
movzx eax, byte [edx + 0x4861d0]
add ebx, eax
jmp 0x43cd09
cmp byte [ebx + 3], 0x19
lea eax, [ebx + 3]
mov dword [ebp - 0x24], eax
jne 0x43cc08
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 0x43cc46
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
mov ebx, dword [ebp + 0x1c]
jmp 0x43cd02
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
mov ebx, dword [ebp - 0x24]
jmp 0x43cd02
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 0x43ccd1
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
cmp dword [ebp + 0x28], eax
jne 0x43d3d8
mov ebx, dword [ebp + 0x1c]
jmp 0x43cd09
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
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 0x437299
inc dword [edi]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
inc edx
push edx
mov edx, dword [ebp + 0x24]
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x4861d0]
lea eax, [ebx + 2]
push eax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x10]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.00437273
mov ebx, eax
add esp, 0x28
cmp ebx, 0xfffffc1d
jne 0x43cd9c
mov ecx, dword [edi + 0x70]
mov edx, dword [ebp + 0x14]
push ecx
push edx
call fcn.00414f10
add esp, 8
test eax, eax
jne 0x43cd9c
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 0x43cdae
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
inc edx
push edx
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x4861d0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
je 0x43ce0f
cmp eax, 0xfffffc1b
je 0x43ce0f
cmp eax, 0xfffffc1c
je 0x43ce0f
cmp eax, 0xfffffc1d
je 0x43ce0f
cmp eax, 0xfffffc1e
jne 0x43eb17
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x4861d0]
push eax
add edx, ebx
push edx
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
je 0x43ce67
cmp eax, 0xfffffc1e
jne 0x43eb17
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
movzx ecx, byte [ebx + 1]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
je 0x43cec5
cmp eax, 0xfffffc1e
jne 0x43eb17
add ebx, 2
mov dword [edi + 0x9c], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
inc edx
push edx
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x4861d0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
je 0x43cf24
cmp eax, 0xfffffc1b
je 0x43cf24
cmp eax, 0xfffffc1e
jne 0x43eb17
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x70], esi
mov dword [edi + 0x9c], edx
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x4861d0]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
je 0x43cf8c
cmp eax, 0xfffffc1b
je 0x43cf8c
cmp eax, 0xfffffc1e
jne 0x43eb17
add ebx, 2
mov dword [edi + 0x70], ebx
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
add eax, ebx
push eax
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
mov eax, dword [ebp + 0x14]
shl ecx, 8
or ecx, edx
sub ebx, ecx
mov dword [edi + 0x70], ebx
mov dword [edi + 0x9c], eax
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
movzx ecx, byte [ebx + 3]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov ecx, ebx
sub ecx, edx
add ebx, 4
mov dword [edi + 0x70], ecx
mov dword [edi + 0x9c], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x18]
mov edx, dword [eax + edx*4 + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [edi + 0x10]
sub edx, dword [ebp - 0x14]
lea eax, [eax + edx*4]
mov edx, dword [eax]
mov dword [ebp - 0x18], edx
mov edx, dword [edi + 0x84]
mov dword [ebp + 0x1c], edx
mov edx, esi
sub edx, dword [edi + 0x68]
mov dword [eax], edx
xor eax, eax
cmp ecx, 0x62
mov ecx, dword [ebp + 0x2c]
setne al
dec eax
and eax, 2
inc ecx
mov dword [ebp + 0x28], eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x4861d0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
je 0x43d0fe
cmp eax, 0xfffffc1e
jne 0x43eb17
cmp dword [edi + 0x70], ebx
jne 0x43eb17
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 0x43d0b3
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 0x43d152
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x4861d0]
push ecx
add eax, ebx
push eax
push esi
call fcn.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
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 0x43d1c7
cmp dword [edi + 0x54], 0
jne 0x43d149
cmp dword [edi + 0x58], 0
je 0x43d1c7
mov edx, dword [edi + 0x88]
add edx, dword [edi + 0x68]
cmp eax, edx
je 0x43d149
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 0x43d214
mov dword [ebp - 0x38], 0
jmp 0x43d224
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 0x43d252
lea eax, [ebp - 0x120]
mov dword [ebp - 0x30], eax
jmp 0x43d279
lea eax, [ecx*4]
push eax
call dword [0x491490]
add esp, 4
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x43d276
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.00411030
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x28], eax
mov al, byte [ecx]
add esp, 0xc
cmp al, 0x61
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 2
inc edx
mov dword [ebp + 0x28], ecx
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x28]
push ecx
mov ecx, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edi
push ecx
mov ecx, dword [ebp + 0x10]
push edx
movzx edx, al
movzx eax, byte [edx + 0x4861d0]
add eax, dword [ebp + 0x1c]
push ecx
push eax
push esi
call fcn.00437273
add esp, 0x28
mov dword [ebp - 0x24], eax
cmp eax, 1
je 0x43d3a3
cmp eax, 0xfffffc19
je 0x43d3a3
test eax, eax
je 0x43d309
cmp eax, 0xfffffc1e
jne 0x43d37e
cmp dword [edi + 0x70], ebx
jne 0x43d37e
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.00411030
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 0x43d2aa
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x120]
cmp eax, ecx
je case.0x43e9d7.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 0x43eb17
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 0x43d3c3
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.00437273
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.0x4372e1.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372e1.115
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jle case.0x4372e1.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 0x43d149
cmp esi, dword [edi + 0x78]
jbe 0x43d149
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x43d149
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.0x43e9d7.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e9d7.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43e9d7.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 0x43d149
cmp esi, dword [edi + 0x78]
jbe 0x43d149
mov eax, 1
jmp 0x43d478
cmp dword [edi + 0x7c], 0
je case.0x4372e1.115
cmp esi, dword [edi + 0x6c]
jb case.0x4372e1.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372e1.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x4372e1.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 0x43d587
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.0042ec38
add esp, 0x14
test eax, eax
je 0x43d561
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43d536
jmp 0x43d582
cmp dword [edi + 0x7c], 0
je 0x43d582
cmp esi, dword [edi + 0x6c]
jb 0x43d582
cmp esi, dword [edi + 0x78]
jbe 0x43d582
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d484
cmp esi, dword [ebp - 0x14]
jb case.0x4372e1.115
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
jmp 0x43d593
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x43d593
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 0x43d149
cmp esi, dword [edi + 0x6c]
jb 0x43d149
cmp esi, dword [edi + 0x78]
jbe 0x43d149
mov eax, 1
jmp 0x43d478
cmp dword [edi + 0x7c], 0
je case.0x43e9d7.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e9d7.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43e9d7.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 0x43d149
cmp esi, dword [edi + 0x78]
jbe 0x43d149
mov eax, 1
jmp 0x43d478
test al, 0x10
jne 0x43d67c
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 0x43d71a
test al, 8
jne 0x43d6ab
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 0x43d71a
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43d6e6
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 0x43d71a
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 0x43d72d
cmp dword [ebp - 4], 0x4e
je case.0x4372e1.115
jmp 0x43d74a
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.0x43e9d7.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.00437273
add esp, 0x28
test eax, eax
je 0x4393e3
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
jmp 0x43d7b3
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x4372e1.115
cmp esi, dword [edi + 0x6c]
jae 0x43d639
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.0x4372e1.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.00437273
add esp, 0x28
test eax, eax
je 0x43d7b3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43d9fd
cmp edx, dword [ebp - 0xc]
jge 0x43d975
mov eax, 1
mov dword [ebp - 0x20], eax
cmp esi, dword [edi + 0x6c]
jae 0x43d95e
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43d91f
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43d86e
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x20], 2
jmp 0x43d91d
test al, 0x10
jne 0x43d88a
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x20], 3
jmp 0x43d917
test al, 8
jne 0x43d8af
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 0x43d917
test al, 4
jne 0x43d8e0
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 0x43d917
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 0x43d92d
cmp ecx, 0x4e
je 0x43d975
jmp 0x43d949
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 0x43d975
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 0x43d832
jmp 0x43d975
cmp dword [edi + 0x7c], 0
je 0x43d975
cmp esi, dword [edi + 0x78]
jbe 0x43d975
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d624
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43da8d
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43d9cd
lea esp, [esp]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43d9c3
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.00437273
add esp, 0x28
test eax, eax
je 0x43d9a6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, dword [ebp - 0xc]
jge 0x43da53
cmp esi, dword [edi + 0x6c]
jae 0x43da32
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 0x43da4e
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43da02
jmp 0x43da4e
cmp dword [edi + 0x7c], 0
je 0x43da4e
cmp esi, dword [edi + 0x78]
jbe 0x43da4e
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d624
cmp esi, dword [ebp - 0x14]
jb 0x43da8d
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43da5a
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 0x43dac5
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 0x43db63
test al, 8
jne 0x43daf4
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 0x43db63
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43db2f
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 0x43db63
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.0042e367
add esp, 8
test eax, eax
je case.0x43e9d7.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.00437273
add esp, 0x28
test eax, eax
je 0x439647
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x4372e1.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372e1.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x4372e1.115
jmp 0x43d450
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x43dd4e
mov ecx, 1
mov dword [ebp - 0x20], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43dd37
cmp dword [ebp - 0x1c], 0
movzx eax, byte [esi]
je 0x43dd0b
cmp eax, 0xc0
jb 0x43dd0b
test al, 0x20
jne 0x43dc26
movzx ecx, byte [esi + 1]
and eax, 0x1f
mov dword [ebp - 0x20], 2
jmp 0x43dd03
test al, 0x10
jne 0x43dc51
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 0x43dd0b
test al, 8
jne 0x43dc86
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 0x43dd09
test al, 4
jne 0x43dcc6
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 0x43dd0b
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.0042e367
add esp, 8
test eax, eax
je 0x43dd4e
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 0x43dbeb
jmp 0x43dd4e
cmp dword [edi + 0x7c], 0
je 0x43dd4e
cmp esi, dword [edi + 0x78]
jbe 0x43dd4e
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d450
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
lea esp, [esp]
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43d149
cmp dword [ebp - 0x1c], 0
je 0x43ddaf
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43ddaf
lea esp, [esp]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43dda3
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.00437273
add esp, 0x28
test eax, eax
je 0x43dd83
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x43e9d7.14
cmp esi, dword [edi + 0x6c]
jb case.0x43e9d7.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e9d7.14
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x43e9d7.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.0x43e9d7.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e9d7.14
jmp 0x43d618
cmp dword [edi + 0x7c], 0
je case.0x43e9d7.14
cmp esi, dword [edi + 0x6c]
jb case.0x43e9d7.14
jmp 0x43d60a
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e9d7.14
mov edx, dword [edi + 0x6c]
sub edx, dword [ebp - 0x10]
cmp esi, edx
ja 0x43dee3
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
push eax
push ecx
push esi
call fcn.00411bb3
add esp, 0xc
test eax, eax
jne 0x43dee3
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.00437273
add esp, 0x28
test eax, eax
je 0x43de83
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x4372e1.115
cmp esi, dword [edi + 0x6c]
jb case.0x4372e1.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372e1.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x4372e1.115
jmp 0x43d450
cmp dword [edi + 0x7c], 0
je case.0x4372e1.115
cmp esi, dword [edi + 0x78]
jbe case.0x4372e1.115
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x4372e1.115
jmp 0x43d450
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
lea ecx, [ecx]
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x4372e1.115
cmp esi, dword [edi + 0x6c]
jae 0x43d639
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
jne case.0x4372e1.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.00437273
add esp, 0x28
test eax, eax
je 0x43df73
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
lea ecx, [ecx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x4372e1.115
cmp esi, dword [edi + 0x6c]
jae 0x43d639
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 4], eax
jne case.0x4372e1.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.00437273
add esp, 0x28
test eax, eax
je 0x43e003
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 0x43e1e4
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge 0x43d149
cmp esi, dword [edi + 0x6c]
jae 0x43d600
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e196
test al, 0x20
jne 0x43e0d2
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43e196
test al, 0x10
jne 0x43e0f8
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 0x43e196
test al, 8
jne 0x43e127
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 0x43e196
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43e162
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 0x43e196
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 0x43e1a4
mov edx, dword [edi + 0x30]
movzx eax, byte [eax + edx]
cmp dword [ebp - 4], eax
je 0x43d149
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.00437273
add esp, 0x28
test eax, eax
je 0x43e096
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
jmp 0x43e213
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x4372e1.115
cmp esi, dword [edi + 0x6c]
jae 0x43d639
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
je case.0x4372e1.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.00437273
add esp, 0x28
test eax, eax
je 0x43e213
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x43d149
cmp esi, dword [edi + 0x78]
jbe 0x43d149
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jmp 0x43d47e
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 0x43e413
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
jmp 0x43e2d3
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43d149
cmp esi, dword [edi + 0x6c]
jae 0x43d600
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e3d3
test al, 0x20
jne 0x43e30f
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e3d3
test al, 0x10
jne 0x43e335
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 0x43e3d3
test al, 8
jne 0x43e364
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 0x43e3d3
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e39f
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 0x43e3d3
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 0x43d149
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.00437273
add esp, 0x28
test eax, eax
je 0x43e2d3
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
jmp 0x43e443
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x43e9d7.14
cmp esi, dword [edi + 0x6c]
jae 0x43dbaf
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43e9d7.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.00437273
add esp, 0x28
test eax, eax
je 0x43e443
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 0x43e906
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge 0x43d149
cmp esi, dword [edi + 0x6c]
jae 0x43d600
cmp dword [ebp - 0x10], 0xc
jne 0x43e54e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43e527
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.0042ea1f
add esp, 0x14
test eax, eax
jne 0x43d149
jmp 0x43e54e
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43e54e
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e54e
cmp dword [edi + 0x1c], 1
je 0x43d149
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d149
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e639
test al, 0x20
jne 0x43e575
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e639
test al, 0x10
jne 0x43e59b
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 0x43e639
test al, 8
jne 0x43e5ca
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 0x43e639
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e605
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 0x43e639
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.0x43e9bd.15
jmp dword [ecx*4 + 0x43ee83]
cmp eax, 0xd
ja 0x43e688
je 0x43e670
cmp eax, 0xa
je case.0x43e648.12
jbe case.0x4372e1.115
cmp eax, 0xc
ja case.0x4372e1.115
jmp 0x43e6a5
cmp esi, dword [edi + 0x6c]
jae case.0x43e648.12
cmp byte [esi], 0xa
jne case.0x43e648.12
inc esi
jmp case.0x43e648.12
cmp eax, 0x85
je 0x43e6a5
cmp eax, 0x2027
jbe case.0x4372e1.115
cmp eax, 0x2029
ja case.0x4372e1.115
cmp dword [edi + 0x60], 0
jne case.0x43e9d7.14
jmp case.0x43e648.12
cmp eax, 0x180e
ja 0x43e6f5
je 0x43d149
cmp eax, 0xa0
ja 0x43e6e5
je 0x43d149
cmp eax, 9
je 0x43d149
cmp eax, 0x20
je 0x43d149
jmp case.0x43e648.12
cmp eax, 0x1680
je 0x43d149
jmp case.0x43e648.12
cmp eax, 0x205f
ja 0x43e728
je 0x43d149
cmp eax, 0x2000
jb case.0x43e648.12
cmp eax, 0x200a
jbe 0x43d149
cmp eax, 0x202f
je 0x43d149
jmp case.0x43e648.12
cmp eax, 0x3000
je 0x43d149
jmp case.0x43e648.12
cmp eax, 0x180e
ja 0x43e779
je case.0x43e648.12
cmp eax, 0xa0
ja 0x43e769
je case.0x43e648.12
cmp eax, 9
je case.0x43e648.12
cmp eax, 0x20
jne case.0x4372e1.115
jmp case.0x43e648.12
cmp eax, 0x1680
jne case.0x4372e1.115
jmp case.0x43e648.12
cmp eax, 0x205f
ja 0x43e7ac
je case.0x43e648.12
cmp eax, 0x2000
jb case.0x4372e1.115
cmp eax, 0x200a
jbe case.0x43e648.12
cmp eax, 0x202f
jne case.0x4372e1.115
jmp case.0x43e648.12
cmp eax, 0x3000
jne case.0x4372e1.115
jmp case.0x43e648.12
cmp eax, 0x85
ja 0x43e7e0
je case.0x43e9d7.14
cmp eax, 0xa
jb case.0x43e648.12
cmp eax, 0xd
jbe case.0x43e9d7.14
jmp case.0x43e648.12
cmp eax, 0x2028
jb case.0x43e648.12
cmp eax, 0x2029
jbe case.0x43e9d7.14
jmp case.0x43e648.12
cmp eax, 0x85
ja 0x43e81f
je case.0x43e648.12
cmp eax, 0xa
jb 0x43d149
cmp eax, 0xd
ja 0x43d149
jmp case.0x43e648.12
cmp eax, 0x2028
jb 0x43d149
cmp eax, 0x2029
ja 0x43d149
jmp case.0x43e648.12
cmp eax, 0x100
jae case.0x43e648.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4372e1.115
jmp case.0x43e648.12
cmp eax, 0x100
jae case.0x43e9d7.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43e9d7.14
jmp case.0x43e648.12
cmp eax, 0x100
jae case.0x43e648.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d149
jmp case.0x43e648.12
cmp eax, 0x100
jae case.0x4372e1.115
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4372e1.115
jmp case.0x43e648.12
cmp eax, 0x100
jae case.0x43e648.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43e9d7.14
jmp case.0x43e648.12
cmp eax, 0x100
jae 0x43d149
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43d149
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.00437273
add esp, 0x28
test eax, eax
je 0x43e4e5
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.00437273
add esp, 0x28
test eax, eax
jne 0x43eb17
lea ebx, [ebx]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43d149
cmp esi, dword [edi + 0x6c]
jae 0x43d600
cmp dword [ebp - 0x10], 0xc
jne 0x43e9aa
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43e983
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042ea1f
add esp, 0x14
test eax, eax
jne 0x43d149
jmp 0x43e9aa
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43e9aa
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e9aa
cmp dword [edi + 0x1c], 1
je 0x43d149
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d149
mov ecx, dword [ebp - 0x10]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x43e9bd.15
jmp dword [ecx*4 + 0x43eec3]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x43e9d7.14
movzx edx, byte [eax + 0x43ef13]
jmp dword [edx*4 + 0x43ef03]
cmp esi, dword [edi + 0x6c]
jae case.0x43e9bd.12
cmp byte [esi], 0xa
jne case.0x43e9bd.12
inc esi
jmp case.0x43e9bd.12
cmp dword [edi + 0x60], 0
jne case.0x4372e1.115
jmp case.0x43e9bd.12
cmp eax, 9
je 0x43d149
cmp eax, 0x20
je 0x43d149
cmp eax, 0xa0
je 0x43d149
jmp case.0x43e9bd.12
cmp eax, 9
je case.0x43e9bd.12
cmp eax, 0x20
je case.0x43e9bd.12
cmp eax, 0xa0
jne case.0x4372e1.115
jmp case.0x43e9bd.12
cmp eax, 0xa
jb case.0x43e9bd.12
cmp eax, 0xd
jbe case.0x43e9d7.14
cmp eax, 0x85
je case.0x43e9d7.14
jmp case.0x43e9bd.12
cmp eax, 0xa
jb 0x43d149
cmp eax, 0xd
jbe case.0x43e9bd.12
cmp eax, 0x85
jne 0x43d149
jmp case.0x43e9bd.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4372e1.115
jmp case.0x43e9bd.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43e9d7.14
jmp case.0x43e9bd.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d149
jmp case.0x43e9bd.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4372e1.115
jmp case.0x43e9bd.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43e9d7.14
jmp case.0x43e9bd.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43d149
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.00437273
add esp, 0x28
test eax, eax
je 0x43e943
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