Function at 0x437551
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 0x43cff8
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 0x43d006
test byte [ebp + 0x28], 2
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x20], edx
je 0x4375a1
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.0x4375bf.15
movzx edx, byte [ecx + 0x43ef2d]
jmp dword [edx*4 + 0x43edfd]
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 0x43769a
cmp dword [0x4a6f20], 0
je 0x437697
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 [0x4a6f20]
add esp, 4
test eax, eax
jg case.0x43ecb5.14
js 0x43edf5
add ebx, 6
movzx ecx, byte [ebx + 3]
lea eax, [ebx + 3]
cmp ecx, 0x66
je 0x43789e
cmp ecx, 0x67
je 0x43789e
cmp ecx, 0x64
je 0x437723
cmp ecx, 0x65
je 0x437723
cmp ecx, 0x68
jne 0x4376d6
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
jmp 0x43788d
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.00437551
add esp, 0x28
cmp eax, 1
je 0x43cd97
test eax, eax
je 0x43771b
cmp eax, 0xfffffc1e
jne 0x43edf5
cmp dword [edi + 0x70], ebx
jne 0x43edf5
add ebx, dword [ebp + 0x1c]
jmp 0x43788d
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 0x437744
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x4379f9
mov dword [ebp - 0x18], 0
cmp ecx, 0x65
jne 0x437874
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 0x437794
jmp 0x437771
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [ebp - 0x24]
je 0x437791
mov eax, dword [ebp + 0x1c]
add ecx, dword [edi + 0x24]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x437771
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x437874
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x437800
lea ebx, [ebx]
mov eax, dword [ebp - 0x14]
sub eax, dword [edi + 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
mov eax, dword [ebp - 0x10]
add eax, 2
push eax
call fcn.00414ee0
add esp, 8
test eax, eax
jne 0x437800
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 0x4377f4
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x4379f9
mov dword [ebp - 0x18], 0
cmp ecx, dword [edi + 0x28]
ja 0x4377b1
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 0x437874
mov ecx, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 0x24], ecx
lea ebx, [ebx]
mov eax, dword [ebp - 0x14]
add eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
push edx
call fcn.00414ee0
add esp, 8
test eax, eax
jne 0x437874
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 0x437861
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x4379f9
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x437821
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 0x43cdc5
cmp byte [ebx], 0x54
je 0x43cdc5
add ebx, 3
jmp 0x4375a1
cmp dword [edi + 0x94], 0
jne 0x4378b8
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
jmp 0x43788d
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 0x4379f9
mov edx, dword [edi + 0x94]
cmp eax, dword [edx + 4]
je 0x4379f9
mov dword [ebp - 0x18], 0
cmp ecx, 0x67
jne 0x437874
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x1c], ecx
cmp dword [edi + 0x20], ecx
jle 0x437924
lea ecx, [ecx]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
cmp ecx, dword [ebp - 0x24]
je 0x437921
mov ecx, dword [ebp + 0x1c]
add eax, dword [edi + 0x24]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, dword [edi + 0x20]
jl 0x437901
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x437874
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x437987
lea ebx, [ebx]
mov eax, dword [ebp - 0x14]
sub eax, dword [edi + 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
mov eax, dword [ebp - 0x10]
add eax, 2
push eax
call fcn.00414ee0
add esp, 8
test eax, eax
jne 0x437987
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 0x4379f9
mov dword [ebp - 0x18], 0
cmp eax, dword [edi + 0x28]
ja 0x437941
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 0x437874
mov ecx, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x14]
add eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
push edx
call fcn.00414ee0
add esp, 8
test eax, eax
jne 0x437874
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 0x4379f9
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x4379a6
jmp 0x437874
mov dword [ebp - 0x18], 1
mov eax, 3
jmp 0x437881
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 0x437a34
mov dword [edi + 0x38], 1
add ebx, 3
jmp 0x4375a1
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 0x437a59
add ecx, 2
mov dword [ebp + 0x18], ecx
add ebx, 3
jmp 0x4375a1
cmp dword [edi + 0x94], eax
je 0x43d485
mov ebx, dword [edi + 0x94]
cmp dword [ebx + 4], eax
jne 0x43d485
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.00416770
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 0x4375a1
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x20], eax
add ebx, 2
jmp 0x4375a1
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.00437551
add esp, 0x28
cmp eax, 1
je 0x437b22
cmp eax, 0xfffffc19
je 0x437b22
test eax, eax
je 0x437b0c
cmp eax, 0xfffffc1e
jne 0x43edf5
cmp dword [edi + 0x70], ebx
jne 0x43edf5
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.0x4375bf.88
jmp 0x437b28
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
cmp byte [ebx], 0x55
je case.0x43ecb5.14
test byte [ebp + 0x28], 1
jne 0x43d6aa
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 0x437b41
mov edx, dword [edi + 0x80]
add ebx, 3
mov dword [ebp + 0x18], edx
jmp 0x4375a1
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.00437551
add esp, 0x28
cmp eax, 1
je 0x43d427
cmp eax, 0xfffffc19
je 0x43d427
cmp eax, 0xfffffc1c
je 0x437be4
cmp eax, 0xfffffc1b
je 0x437be4
cmp eax, 0xfffffc1a
je 0x437be4
test eax, eax
je 0x437bce
cmp eax, 0xfffffc1e
jne 0x43edf5
cmp dword [edi + 0x70], ebx
jne 0x43edf5
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.0x4375bf.89
jmp 0x437bf8
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x437be4
test byte [ebp + 0x28], 1
jne 0x43d6aa
add ebx, 3
jmp 0x4375a1
cmp dword [ebp - 0x1c], eax
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 1]
je 0x437c47
shl eax, 8
or eax, ecx
jle 0x437c57
mov ecx, dword [edi + 0x68]
dec esi
dec eax
cmp esi, ecx
jb case.0x4375bf.115
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x437c41
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x437c35
test eax, eax
jg 0x437c21
jmp 0x437c57
shl eax, 8
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x68]
jb case.0x43ecb5.14
cmp esi, dword [edi + 0x78]
jae 0x437c5f
mov dword [edi + 0x78], esi
add ebx, 3
jmp 0x4375a1
cmp dword [0x4a6f20], eax
je 0x437cff
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 [0x4a6f20]
add esp, 4
test eax, eax
jg 0x43d427
js 0x43edf5
add ebx, 6
jmp 0x4375a1
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.00437551
add esp, 0x28
cmp eax, 1
je 0x437d6d
test eax, eax
je 0x437d57
cmp eax, 0xfffffc1e
jne 0x43edf5
cmp dword [edi + 0x70], ebx
jne 0x43edf5
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437d11
jmp 0x437d73
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
mov al, byte [ebx]
cmp al, 0x5d
je 0x437d81
cmp al, 0x54
jne 0x43d8af
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437d81
cmp byte [ebx], 0x55
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x74]
mov dword [ebp + 0x18], edx
je 0x437daf
cmp esi, dword [ebp - 0x18]
jne 0x43cecb
add ebx, 3
jmp 0x4375a1
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.0x4375bf.84
jmp 0x4375a1
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
jmp 0x437e11
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
cmp byte [ebx], 0x54
je 0x437e11
add ebx, 3
jmp 0x4375a1
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 0x437e31
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
jmp 0x4375a1
inc ebx
jmp 0x437e81
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437e81
add ebx, 3
jmp 0x4375a1
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 0x437eca
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 0x437ed1
mov dword [ebp - 0x18], 0
cmp al, 0x58
je 0x43d6e8
cmp al, 0x59
je 0x43d6e8
cmp al, 0x5a
je 0x43d6e8
cmp al, 0x5b
je 0x43d6e8
cmp al, 0x5d
je 0x43d6e8
cmp al, 0x5f
je 0x437f05
cmp al, 0x62
jne 0x437fa1
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 0x437f2c
mov dword [edi + 0x38], 1
jmp 0x437f57
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 0x437f57
add ecx, 2
mov dword [ebp + 0x18], ecx
cmp dword [edi + 0x94], 0
je 0x437fa1
mov ecx, dword [edi + 0x94]
cmp dword [ecx + 4], eax
jne 0x437fa1
mov ebx, ecx
mov eax, dword [ebx]
mov dword [edi + 0x94], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00411000
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebx + 8]
add esp, 0xc
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x20], edx
jmp 0x4375a1
cmp byte [ebx], 0x55
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x20], eax
je 0x437fb5
cmp esi, dword [ebp - 0x18]
jne 0x43cf5d
add ebx, 3
jmp 0x4375a1
cmp dword [edi + 0x3c], eax
je 0x437fcb
cmp esi, dword [edi + 0x68]
je case.0x43ecb5.14
test byte [ebp + 0x20], 2
je case.0x4375bf.1
mov ecx, dword [edi + 0x68]
cmp esi, ecx
je 0x438045
cmp esi, dword [edi + 0x6c]
je 0x43d427
mov eax, dword [edi + 0x18]
test eax, eax
je 0x438014
cmp esi, ecx
jbe 0x43d427
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.0042e7f6
add esp, 0x14
test eax, eax
je 0x43d427
inc ebx
jmp 0x4375a1
mov edx, dword [edi + 0x68]
add edx, dword [edi + 0x1c]
cmp esi, edx
jb 0x43d427
mov ecx, dword [edi + 0x1c]
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne 0x43d427
cmp ecx, 1
je 0x438045
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne 0x43d427
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x68]
jne case.0x4375bf.115
inc ebx
jmp 0x4375a1
mov ecx, dword [edi + 0x88]
add ecx, dword [edi + 0x68]
cmp esi, ecx
jne case.0x43ecb5.14
inc ebx
jmp 0x4375a1
mov dword [ebp + 0x10], esi
inc ebx
jmp 0x4375a1
test byte [ebp + 0x20], 2
je 0x43810f
cmp esi, dword [edi + 0x6c]
jae 0x4380e5
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4380b4
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.0042e9ca
add esp, 0x14
test eax, eax
je 0x43d427
inc ebx
jmp 0x4375a1
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43d427
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43d427
cmp dword [edi + 0x1c], 1
je 0x438109
mov dl, byte [esi + 1]
cmp dl, byte [edi + 0x2d]
jne 0x43d427
inc ebx
jmp 0x4375a1
cmp dword [edi + 0x40], eax
jne case.0x4375bf.115
cmp dword [edi + 0x7c], eax
je 0x438109
cmp esi, dword [edi + 0x78]
jbe 0x438109
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
inc ebx
jmp 0x4375a1
cmp dword [edi + 0x40], eax
jne 0x43d427
cmp dword [edi + 0x50], eax
je case.0x4375bf.23
cmp esi, dword [edi + 0x6c]
jb case.0x4375bf.115
jmp 0x4380ee
cmp esi, dword [edi + 0x6c]
jae 0x43818d
mov eax, dword [edi + 0x18]
test eax, eax
je 0x438154
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.0042e9ca
add esp, 0x14
test eax, eax
je 0x43d427
jmp 0x43817f
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43d427
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43d427
cmp dword [edi + 0x1c], 1
je 0x43817f
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne 0x43d427
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
jne 0x43d427
cmp dword [edi + 0x7c], 0
je 0x438109
cmp esi, dword [edi + 0x78]
jbe 0x438109
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d79a
inc ebx
jmp 0x4375a1
cmp dword [ebp - 0x1c], eax
je 0x4383a4
cmp esi, dword [edi + 0x68]
je 0x4382ad
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x4381e3
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x4381d7
cmp eax, dword [edi + 0x78]
jae 0x4381eb
mov dword [edi + 0x78], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x438295
test cl, 0x20
jne 0x43820b
movzx eax, byte [eax + 1]
and ecx, 0x1f
jmp 0x43828d
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x10
jne 0x438223
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x43828b
test cl, 8
jne 0x43823a
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x438285
test cl, 4
jne 0x43825d
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 0x438285
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 0x4382ad
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x4382ad
mov ecx, 1
jmp 0x4382af
xor ecx, ecx
cmp esi, dword [edi + 0x6c]
jb 0x4382d7
cmp dword [edi + 0x7c], 0
je 0x4382d0
cmp esi, dword [edi + 0x78]
jbe 0x4382d0
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
xor eax, eax
jmp 0x4383fe
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43838d
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x4382fb
and eax, 0x1f
shl eax, 6
jmp 0x43838b
test al, 0x10
jne 0x43830d
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x438385
test al, 8
jne 0x43832b
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 0x438385
test al, 4
jne 0x438355
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 0x438385
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 0x4383ea
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x4383ea
mov eax, 1
jmp 0x4383fe
cmp esi, dword [edi + 0x68]
jne 0x4383ad
xor ecx, ecx
jmp 0x4383c9
cmp esi, dword [edi + 0x78]
ja 0x4383b8
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 0x4383ee
cmp dword [edi + 0x7c], 0
je 0x4383ea
cmp esi, dword [edi + 0x78]
jbe 0x4383ea
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d72e
xor eax, eax
jmp 0x4383fe
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 0x439c26
cmp eax, ecx
jne 0x4375a1
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 0x438450
cmp esi, dword [edi + 0x6c]
jae case.0x4375bf.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.0042e9ca
add esp, 0x14
test eax, eax
jne case.0x43ecb5.14
jmp case.0x4375bf.13
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja case.0x4375bf.13
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x4375bf.13
cmp dword [edi + 0x1c], 1
je case.0x43ecb5.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x43ecb5.14
mov eax, dword [edi + 0x6c]
mov edx, esi
mov ecx, 1
add esi, ecx
cmp edx, eax
jae 0x43d70f
cmp dword [ebp - 0x1c], 0
je 0x4384a5
cmp esi, eax
jae 0x4384a5
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x4384a5
add esi, ecx
cmp esi, eax
jb 0x438495
add ebx, ecx
jmp 0x4375a1
mov ecx, esi
mov eax, 1
add esi, eax
cmp ecx, dword [edi + 0x6c]
jae 0x43d743
add ebx, eax
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d777
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4385c3
cmp eax, 0xc0
jb 0x4385c3
test al, 0x20
jne 0x4384ff
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4385c3
test al, 0x10
jne 0x438525
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 0x4385c3
test al, 8
jne 0x438554
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 0x4385c3
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43858f
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 0x4385c3
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 0x438109
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43d427
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d777
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4386df
cmp eax, 0xc0
jb 0x4386df
test al, 0x20
jne 0x43861b
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4386df
test al, 0x10
jne 0x438641
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 0x4386df
test al, 8
jne 0x438670
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 0x4386df
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4386ab
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 0x4386df
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 0x43d427
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43d427
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d777
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4387fb
cmp eax, 0xc0
jb 0x4387fb
test al, 0x20
jne 0x438737
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4387fb
test al, 0x10
jne 0x43875d
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 0x4387fb
test al, 8
jne 0x43878c
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 0x4387fb
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4387c7
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 0x4387fb
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 0x438109
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d427
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d777
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438917
cmp eax, 0xc0
jb 0x438917
test al, 0x20
jne 0x438853
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438917
test al, 0x10
jne 0x438879
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 0x438917
test al, 8
jne 0x4388a8
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 0x438917
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4388e3
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 0x438917
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 0x43d427
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43d427
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d777
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438a33
cmp eax, 0xc0
jb 0x438a33
test al, 0x20
jne 0x43896f
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438a33
test al, 0x10
jne 0x438995
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 0x438a33
test al, 8
jne 0x4389c4
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 0x438a33
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4389ff
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 0x438a33
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 0x438109
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43d427
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d777
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438b4f
cmp eax, 0xc0
jb 0x438b4f
test al, 0x20
jne 0x438a8b
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438b4f
test al, 0x10
jne 0x438ab1
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 0x438b4f
test al, 8
jne 0x438ae0
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 0x438b4f
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438b1b
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 0x438b4f
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 0x43d427
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43d427
inc ebx
jmp 0x4375a1
mov ecx, dword [edi + 0x6c]
cmp esi, ecx
jae 0x43d777
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438c62
cmp eax, 0xc0
jb 0x438c62
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x438ba9
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x438c62
test al, 0x10
jne 0x438bc9
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 0x438c62
test al, 8
jne 0x438bf2
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 0x438c62
test al, 4
jne 0x438c27
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 0x438c62
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 0x438c9b
je 0x438c83
cmp eax, 0xa
je 0x438109
jbe 0x43d427
cmp eax, 0xc
ja 0x43d427
jmp 0x438cb8
cmp esi, ecx
jae 0x438109
cmp byte [esi], 0xa
jne 0x438109
inc esi
inc ebx
jmp 0x4375a1
cmp eax, 0x85
je 0x438cb8
cmp eax, 0x2027
jbe 0x43d427
cmp eax, 0x2029
ja 0x43d427
cmp dword [edi + 0x60], 0
jne case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d7af
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438dc6
cmp eax, 0xc0
jb 0x438dc6
test al, 0x20
jne 0x438d02
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x438dc6
test al, 0x10
jne 0x438d28
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 0x438dc6
test al, 8
jne 0x438d57
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 0x438dc6
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x438d92
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 0x438dc6
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 0x438e09
je case.0x4375bf.115
cmp eax, 0xa0
ja 0x438df8
je case.0x4375bf.115
cmp eax, 9
je case.0x4375bf.115
cmp eax, 0x20
je case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp eax, 0x1680
je case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp eax, 0x205f
ja 0x438e3d
je case.0x4375bf.115
cmp eax, 0x2000
jb 0x438109
cmp eax, 0x200a
jbe case.0x4375bf.115
cmp eax, 0x202f
je case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp eax, 0x3000
je case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d7af
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438f4c
cmp eax, 0xc0
jb 0x438f4c
test al, 0x20
jne 0x438e88
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438f4c
test al, 0x10
jne 0x438eae
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 0x438f4c
test al, 8
jne 0x438edd
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 0x438f4c
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438f18
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 0x438f4c
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 0x438f8f
je 0x438109
cmp eax, 0xa0
ja 0x438f7e
je 0x438109
cmp eax, 9
je 0x438109
cmp eax, 0x20
jne case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp eax, 0x1680
jne case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp eax, 0x205f
ja 0x438fc3
je 0x438109
cmp eax, 0x2000
jb case.0x4375bf.115
cmp eax, 0x200a
jbe 0x438109
cmp eax, 0x202f
jne case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp eax, 0x3000
jne case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d7af
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4390d2
cmp eax, 0xc0
jb 0x4390d2
test al, 0x20
jne 0x43900e
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x4390d2
test al, 0x10
jne 0x439034
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 0x4390d2
test al, 8
jne 0x439063
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 0x4390d2
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43909e
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 0x4390d2
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 0x4390f7
je case.0x4375bf.115
cmp eax, 0xa
jb 0x438109
cmp eax, 0xd
jbe case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp eax, 0x2028
jb 0x438109
cmp eax, 0x2029
jbe case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp esi, dword [edi + 0x6c]
jae 0x43d7af
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x439211
cmp eax, 0xc0
jb 0x439211
test al, 0x20
jne 0x43914d
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x439211
test al, 0x10
jne 0x439173
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 0x439211
test al, 8
jne 0x4391a2
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 0x439211
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4391dd
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 0x439211
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 0x439236
je 0x438109
cmp eax, 0xa
jb case.0x4375bf.115
cmp eax, 0xd
ja case.0x4375bf.115
inc ebx
jmp 0x4375a1
cmp eax, 0x2028
jb case.0x4375bf.115
cmp eax, 0x2029
ja case.0x4375bf.115
inc ebx
jmp 0x4375a1
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 0x439280
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + eax*4]
lea eax, [edx + eax*4]
test ecx, ecx
js 0x439280
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x439290
cmp dword [edi + 0x48], 0
je 0x43928a
xor edx, edx
jmp 0x439290
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.0x4392a9
movzx ecx, byte [ecx + 0x43efad]
jmp dword [ecx*4 + 0x43efa5]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x485ea0]
movsx eax, byte [eax + 0x485ea8]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x43931a
mov eax, accept
mov dword [ebp - 0xc], eax
jmp 0x43931a
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 0x439314
mov eax, accept
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x10]
add ebx, 5
test edx, edx
je 0x4375a1
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x439364
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.0042ebe3
add esp, 0x14
test eax, eax
je 0x43d8b8
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 8]
jle 0x439331
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp ecx, eax
je 0x4375a1
cmp dword [ebp - 0x14], 0
je 0x43d80a
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43ecb5.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.0042ebe3
add esp, 0x14
test eax, eax
je 0x43d7c8
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.00437551
add esp, 0x28
test eax, eax
je 0x4393b1
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.0042ebe3
add esp, 0x14
test eax, eax
je 0x43d8b8
add esi, dword [ebp - 0x10]
jmp 0x4375a1
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.0x439456
movzx edx, byte [edx + 0x43efbd]
jmp dword [edx*4 + 0x43efb5]
add eax, 0xffffffba
movzx edx, al
and edx, 1
mov dword [ebp - 0x14], edx
movsx edx, byte [eax + 0x485ea0]
movsx eax, byte [eax + 0x485ea8]
inc ebx
mov dword [ebp - 0xc], eax
test eax, eax
mov dword [ebp - 8], edx
mov eax, 1
jne 0x4394de
mov dword [ebp - 0xc], accept
jmp 0x4394de
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 0x4394c4
mov dword [ebp - 0xc], accept
mov edx, dword [ebp - 8]
add ebx, 5
mov eax, 1
jmp 0x4394de
mov eax, 1
mov edx, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
cmp dword [ebp - 0x1c], 0
je 0x439627
mov dword [ebp + 0x1c], 1
cmp edx, 1
jl 0x439669
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x4395e4
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x439528
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x4395e1
test al, 0x10
jne 0x439548
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 0x4395e1
test al, 8
jne 0x439571
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 0x4395e1
test al, 4
jne 0x4395a6
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 0x4395e1
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 0x4395f6
cmp ecx, 0x4e
je 0x43d427
jmp 0x439619
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.0x4375bf.115
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], edx
jle 0x4394f8
jmp 0x439669
mov dword [ebp + 0x1c], eax
cmp edx, eax
jl 0x439669
cmp esi, dword [edi + 0x6c]
jae 0x43d917
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.0x4375bf.115
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jle 0x43962e
mov ecx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x4375a1
cmp dword [ebp - 0x14], 0
mov dword [ebp + 0x1c], edx
je 0x43dafa
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x43da5f
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x4375bf.115
cmp esi, dword [edi + 0x6c]
jae 0x43d917
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43d9f8
test al, 0x20
jne 0x43d934
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43d9f8
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.0x43972a
movzx edx, byte [edx + 0x43efcd]
jmp dword [edx*4 + 0x43efc5]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x485ea0]
movsx eax, byte [eax + 0x485ea8]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x4397a4
mov eax, accept
jmp 0x4397a1
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 0x439792
mov eax, accept
mov dword [ebp - 0xc], eax
add ebx, 5
jmp 0x4397a4
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 0x4398dc
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4398b2
cmp eax, 0xc0
jb 0x4398b2
test al, 0x20
jne 0x4397ee
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x4398b2
test al, 0x10
jne 0x439814
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 0x4398b2
test al, 8
jne 0x439843
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 0x4398b2
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43987e
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 0x4398b2
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.0042e312
add esp, 8
test eax, eax
je 0x43d427
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x4397b4
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x4375a1
cmp dword [ebp - 0x14], 0
je 0x43deb6
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43ecb5.14
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43de41
cmp eax, 0xc0
jb 0x43de41
test al, 0x20
jne 0x43dd7d
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43de41
cmp dword [ebp - 0x1c], eax
je 0x4399e7
mov edx, 1
movzx ecx, byte [ebx + edx]
add ebx, edx
mov eax, edx
cmp ecx, 0xc0
jb 0x4399b9
test cl, 0x20
jne 0x439993
lea eax, [edx + 1]
jmp 0x4399b9
test cl, 0x10
jne 0x43999f
mov eax, 3
jmp 0x4399b9
test cl, 8
jne 0x4399ab
mov eax, 4
jmp 0x4399b9
test cl, 4
mov eax, 0
setne al
add eax, 5
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp eax, ecx
jg 0x43e0bd
test eax, eax
jle 0x4375a1
mov dl, byte [ebx]
mov cl, byte [esi]
dec eax
inc esi
inc ebx
cmp dl, cl
jne 0x43d427
test eax, eax
jle 0x4375a1
jmp 0x4399ce
mov edx, dword [edi + 0x6c]
sub edx, esi
mov eax, 1
cmp edx, eax
jl 0x43e0fa
mov cl, byte [esi]
add esi, eax
cmp byte [ebx + 1], cl
jne 0x43d427
add ebx, 2
jmp 0x4375a1
cmp dword [ebp - 0x1c], eax
je 0x439c40
movzx eax, byte [ebx + 1]
inc ebx
mov ecx, 1
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x1c], eax
cmp eax, 0xc0
jb 0x439b05
test al, 0x20
jne 0x439a4f
movzx edx, byte [ebx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
mov ecx, 2
jmp 0x439b02
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
and ecx, 0x3f
and edx, 0x3f
test al, 0x10
jne 0x439a78
and eax, 0xf
shl eax, 6
or eax, ecx
shl eax, 6
or eax, edx
mov ecx, 3
jmp 0x439b02
test al, 8
jne 0x439a9c
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 0x439b02
test al, 4
jne 0x439acc
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 0x439b02
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 0x43e112
movzx ecx, byte [esi]
inc esi
cmp eax, 0x80
jae 0x439b42
mov eax, dword [edi + 0x30]
mov dl, byte [ecx + eax]
mov ecx, dword [ebp + 0x1c]
inc ebx
cmp byte [ecx + eax], dl
je 0x4375a1
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 0x439c23
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x439b67
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x439c23
test cl, 0x10
jne 0x439b88
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 0x439c23
test cl, 8
jne 0x439bb2
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 0x439c23
test cl, 4
jne 0x439be8
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 0x439c23
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 0x4375a1
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 0x43d743
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.0x4375bf.115
add ebx, 2
jmp 0x4375a1
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 0x439d18
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 0x439d18
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], eax
add ebx, edx
jmp 0x439d13
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], edx
add ebx, edx
jmp 0x439d13
mov edx, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], edx
mov eax, edx
add ebx, edx
jmp 0x439d18
add ecx, 0xffffffe1
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x485ea0]
mov dword [ebp - 8], eax
movsx eax, byte [ecx + 0x485ea8]
add ebx, edx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x439d1b
mov eax, accept
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x1c], 0
movzx ecx, byte [ebx]
mov dword [ebp - 4], ecx
je 0x439f60
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x24], ebx
cmp ecx, 0xc0
jb 0x439e25
movzx edx, byte [ebx + 1]
and edx, 0x3f
test cl, 0x20
jne 0x439d5b
and ecx, 0x1f
shl ecx, 6
or ecx, edx
mov edx, 2
jmp 0x439e1f
test cl, 0x10
jne 0x439d7e
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 0x439e1f
test cl, 8
jne 0x439daa
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 0x439e1f
test cl, 4
jne 0x439de2
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 0x439e1f
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 0x439f62
mov ecx, dword [ebp - 8]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x439e7b
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x43d8b8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00411b83
add esp, 0xc
test eax, eax
jne 0x43d8b8
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 0x439e3f
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x4375a1
cmp dword [ebp - 0x14], 0
jne 0x43e12a
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x439ee9
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x439ec8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00411b83
add esp, 0xc
test eax, eax
jne 0x439ec8
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 0x439e97
jmp 0x439ee9
cmp dword [edi + 0x7c], 0
je 0x439ee9
cmp esi, dword [edi + 0x6c]
jb 0x439ee9
cmp esi, dword [edi + 0x78]
jbe 0x439ee9
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
cmp dword [ebp - 0x18], 0
jne 0x4375a1
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
cmp esi, dword [ebp - 0x14]
je case.0x43ecb5.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.00437551
add esp, 0x28
test eax, eax
je 0x439f24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ebx, edx
test byte [ebp + 0x20], 1
je 0x43a076
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 0x439fc1
jmp 0x439f96
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43e1f3
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
jne case.0x43ecb5.14
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc edx
mov dword [ebp + 0x1c], edx
cmp edx, ecx
jle 0x439f91
cmp ecx, eax
je 0x4375a1
cmp dword [ebp - 0x14], 0
jne 0x43e217
mov dword [ebp - 0x14], esi
cmp ecx, eax
jge 0x43a01b
mov dword [ebp + 0x1c], ecx
cmp esi, dword [edi + 0x6c]
jae 0x439fff
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
jne 0x43a01b
mov ecx, dword [ebp + 0x1c]
inc ecx
inc esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jl 0x439fdd
jmp 0x43a01b
cmp dword [edi + 0x7c], 0
je 0x43a01b
cmp esi, dword [edi + 0x78]
jbe 0x43a01b
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
cmp dword [ebp - 0x18], 0
jne 0x4375a1
cmp esi, dword [ebp - 0x14]
jb 0x43a064
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.00437551
add esp, 0x28
dec esi
test eax, eax
jne 0x43edf5
cmp esi, dword [ebp - 0x14]
jae 0x43a031
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 0x43a0ab
cmp esi, dword [edi + 0x6c]
jae 0x43d917
movzx edx, byte [esi]
inc esi
cmp ecx, edx
jne case.0x4375bf.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 0x43a085
cmp edx, eax
je 0x4375a1
cmp dword [ebp - 0x14], 0
mov edx, dword [ebp - 8]
mov dword [ebp + 0x1c], edx
jne 0x43e2ad
mov dword [ebp - 0x14], esi
cmp edx, eax
jge 0x43a100
cmp esi, dword [edi + 0x6c]
jae 0x43a0e4
movzx edx, byte [esi]
cmp ecx, edx
jne 0x43a100
mov edx, dword [ebp + 0x1c]
inc edx
inc esi
mov dword [ebp + 0x1c], edx
cmp edx, eax
jl 0x43a0ca
jmp 0x43a100
cmp dword [edi + 0x7c], 0
je 0x43a100
cmp esi, dword [edi + 0x78]
jbe 0x43a100
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
cmp dword [ebp - 0x18], 0
jne 0x4375a1
cmp esi, dword [ebp - 0x14]
jb 0x43a149
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.00437551
add esp, 0x28
dec esi
test eax, eax
jne 0x43edf5
cmp esi, dword [ebp - 0x14]
jae 0x43a116
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 0x43d7af
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43a259
cmp eax, 0xc0
jb 0x43a259
test al, 0x20
jne 0x43a195
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43a259
test al, 0x10
jne 0x43a1bb
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 0x43a259
test al, 8
jne 0x43a1ea
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 0x43a259
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43a225
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 0x43a259
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 0x43a295
cmp eax, 0x100
jae 0x43a26d
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 0x4375a1
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 0x4375a1
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 0x43a35c
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 0x43a35f
mov edx, 1
xor eax, eax
mov dword [ebp - 0x18], edx
add ebx, edx
jmp 0x43a357
mov eax, 1
mov dword [ebp - 0x18], eax
add ebx, eax
jmp 0x43a357
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x18], ecx
add ebx, ecx
jmp 0x43a35c
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 0x43a35c
add ecx, 0xffffffd4
movzx eax, cl
and eax, 1
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x485ea0]
movsx ecx, byte [ecx + 0x485ea8]
inc ebx
mov dword [ebp - 0xc], ecx
test ecx, ecx
jne 0x43a35f
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 0x43a769
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 0x43a4ab
cmp eax, 1
jl 0x43a4d8
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43a482
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x43a3c6
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x43a482
test cl, 0x10
jne 0x43a3e7
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 0x43a482
test cl, 8
jne 0x43a411
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 0x43a482
test cl, 4
jne 0x43a447
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 0x43a482
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 0x43a491
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
cmp dword [ebp - 4], ecx
je case.0x43ecb5.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a394
jmp 0x43a4d8
cmp eax, 1
jl 0x43a4d8
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43ecb5.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a4b0
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x4375a1
cmp dword [ebp - 0x14], 0
jne 0x43e336
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43a6d1
mov dword [ebp + 0x1c], eax
cmp eax, edx
jge 0x43a645
mov eax, 1
cmp esi, dword [edi + 0x6c]
jae 0x43a62e
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x43a604
movzx eax, byte [esi + 1]
and eax, 0x3f
test cl, 0x20
jne 0x43a540
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x43a604
test cl, 0x10
jne 0x43a563
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 0x43a604
test cl, 8
jne 0x43a58f
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 0x43a604
test cl, 4
jne 0x43a5c7
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 0x43a604
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 0x43a616
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp - 4], ecx
je 0x43a645
add esi, eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43a505
jmp 0x43a645
cmp dword [edi + 0x7c], 0
je 0x43a645
cmp esi, dword [edi + 0x78]
jbe 0x43a645
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
cmp dword [ebp - 0x18], 0
jne 0x4375a1
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
nop
mov edx, esi
dec esi
cmp edx, dword [ebp - 0x14]
je 0x43a757
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a6a1
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43a695
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.00437551
add esp, 0x28
test eax, eax
je 0x43a681
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edx
jge 0x43a70e
cmp esi, dword [edi + 0x6c]
jae 0x43a6f2
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
je 0x43a70e
inc eax
inc esi
cmp eax, dword [ebp - 0xc]
jl 0x43a6d5
jmp 0x43a70e
cmp dword [edi + 0x7c], 0
je 0x43a70e
cmp esi, dword [edi + 0x78]
jbe 0x43a70e
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
cmp dword [ebp - 0x18], 0
jne 0x4375a1
cmp esi, dword [ebp - 0x14]
jb 0x43a757
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43a724
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 0x43a8ac
cmp eax, edx
jl 0x43a8db
cmp esi, dword [edi + 0x6c]
jae 0x43e54d
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43a88c
test cl, 0x20
jne 0x43a7b6
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
inc esi
jmp 0x43a88c
test cl, 0x10
jne 0x43a7dd
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 0x43a88c
test cl, 8
jne 0x43a810
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 0x43a88c
test cl, 4
jne 0x43a84c
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 0x43a88c
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.0x4375bf.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a783
jmp 0x43a8d8
cmp eax, edx
jl 0x43a8db
cmp esi, dword [edi + 0x6c]
jae 0x43e54d
movzx ecx, byte [esi]
add esi, edx
cmp dword [ebp - 4], ecx
je case.0x4375bf.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a8b0
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
je 0x4375a1
cmp dword [ebp - 0x14], 0
jne 0x43e56b
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43aabd
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jge 0x43aa2e
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43aa17
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43a9ff
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43a93e
and eax, 0x1f
shl eax, 6
or eax, edx
mov edx, 2
jmp 0x43a9ff
test al, 0x10
jne 0x43a960
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 0x43a9ff
test al, 8
jne 0x43a98b
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 0x43a9ff
test al, 4
jne 0x43a9c2
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 0x43a9ff
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 0x43aa2e
mov eax, dword [ebp + 0x1c]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jl 0x43a905
jmp 0x43aa2e
cmp dword [edi + 0x7c], 0
je 0x43aa2e
cmp esi, dword [edi + 0x78]
jbe 0x43aa2e
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jg 0x43d72e
cmp dword [ebp - 0x18], 0
jne 0x4375a1
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43ab44
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43aa8d
mov edi, edi
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43aa81
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.00437551
add esp, 0x28
test eax, eax
je 0x43aa69
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
cmp eax, ecx
jge 0x43aaf4
cmp esi, dword [edi + 0x6c]
jae 0x43aad8
movzx eax, byte [esi]
cmp dword [ebp - 4], eax
je 0x43aaf4
inc edx
inc esi
cmp edx, ecx
jl 0x43aac3
jmp 0x43aaf4
cmp dword [edi + 0x7c], 0
je 0x43aaf4
cmp esi, dword [edi + 0x78]
jbe 0x43aaf4
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d72e
cmp dword [ebp - 0x18], 0
jne 0x4375a1
cmp esi, dword [ebp - 0x14]
jb 0x43ab44
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43ab11
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 0x43ac19
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 0x43ac1c
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 8], ecx
inc ebx
jmp 0x43ac14
mov ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], ecx
add ebx, ecx
jmp 0x43ac14
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], ecx
add ebx, edx
jmp 0x43ac19
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 0x43ac19
lea eax, [ecx - 0x39]
movsx edx, byte [eax + 0x485ea8]
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x485ea0]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edx
test edx, edx
jne 0x43ac1c
mov edx, accept
mov dword [ebp - 0xc], edx
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x43ba6c
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
je 0x43b6d8
cmp eax, 0xf
ja case.0x43ec9b.15
jmp dword [eax*4 + 0x43efd5]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43ac8e
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.0042e9ca
add esp, 0x14
test eax, eax
jne case.0x43ecb5.14
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43acb5
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43acb5
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43acb5
cmp dword [edi + 0x1c], 1
je case.0x43ecb5.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x43ecb5.14
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43accf
lea ebx, [ebx]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43accf
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43acc1
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ac58
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
jmp 0x43acf1
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43de8d
inc esi
cmp esi, eax
jae 0x43ad0f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ad0f
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43ad01
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43acf1
jmp 0x43ba6c
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja case.0x43ecb5.14
add esi, ecx
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43ae35
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ad76
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43ae2f
test al, 0x10
jne 0x43ad96
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 0x43ae2f
test al, 8
jne 0x43adbf
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 0x43ae2f
test al, 4
jne 0x43adf4
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 0x43ae2f
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 0x43ae61
je 0x43ae54
cmp dword [ebp - 4], 0xa
je 0x43ae85
mov eax, dword [ebp - 4]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x43ecb5.14
jmp 0x43ae7b
cmp esi, dword [edi + 0x6c]
jae 0x43ae85
cmp byte [esi], 0xa
jne 0x43ae85
inc esi
jmp 0x43ae85
cmp dword [ebp - 4], 0x85
je 0x43ae7b
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x43ecb5.14
cmp dword [edi + 0x60], 0
jne 0x43d427
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ad43
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43af98
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43aed9
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43af92
test al, 0x10
jne 0x43aef9
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 0x43af92
test al, 8
jne 0x43af22
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 0x43af92
test al, 4
jne 0x43af57
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 0x43af92
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 0x43afdb
je 0x43d427
cmp dword [ebp - 4], 0xa0
ja 0x43afcc
je 0x43d427
cmp dword [ebp - 4], 9
je 0x43d427
cmp dword [ebp - 4], 0x20
je 0x43d427
jmp 0x43b01c
cmp dword [ebp - 4], 0x1680
je 0x43d427
jmp 0x43b01c
cmp dword [ebp - 4], 0x205f
ja 0x43b00f
je 0x43d427
cmp dword [ebp - 4], 0x2000
jb 0x43b01c
cmp dword [ebp - 4], 0x200a
jbe 0x43d427
cmp dword [ebp - 4], 0x202f
je 0x43d427
jmp 0x43b01c
cmp dword [ebp - 4], 0x3000
je 0x43d427
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43aea6
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b12f
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43b070
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b129
test al, 0x10
jne 0x43b090
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 0x43b129
test al, 8
jne 0x43b0b9
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 0x43b129
test al, 4
jne 0x43b0ee
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 0x43b129
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 0x43b166
je 0x43b1a3
cmp dword [ebp - 4], 0xa0
ja 0x43b157
je 0x43b1a3
cmp dword [ebp - 4], 9
je 0x43b1a3
cmp dword [ebp - 4], 0x20
jne 0x43d427
jmp 0x43b1a3
cmp dword [ebp - 4], 0x1680
jne 0x43d427
jmp 0x43b1a3
cmp dword [ebp - 4], 0x205f
ja 0x43b196
je 0x43b1a3
cmp dword [ebp - 4], 0x2000
jb 0x43d427
cmp dword [ebp - 4], 0x200a
jbe 0x43b1a3
cmp dword [ebp - 4], 0x202f
jne 0x43d427
jmp 0x43b1a3
cmp dword [ebp - 4], 0x3000
jne 0x43d427
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b03d
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b2b6
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43b1f7
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b2b0
test al, 0x10
jne 0x43b217
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 0x43b2b0
test al, 8
jne 0x43b240
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 0x43b2b0
test al, 4
jne 0x43b275
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 0x43b2b0
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 0x43b2d7
je 0x43d427
cmp dword [ebp - 4], 0xa
jb 0x43b2ed
cmp dword [ebp - 4], 0xd
jbe 0x43d427
jmp 0x43b2ed
cmp dword [ebp - 4], 0x2028
jb 0x43b2ed
cmp dword [ebp - 4], 0x2029
jbe 0x43d427
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b1c4
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b400
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43b341
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b3fa
test al, 0x10
jne 0x43b361
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 0x43b3fa
test al, 8
jne 0x43b38a
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 0x43b3fa
test al, 4
jne 0x43b3bf
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 0x43b3fa
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 0x43b41c
je 0x43b42d
mov eax, dword [ebp - 4]
add eax, 0xfffffff6
cmp eax, 3
ja 0x43d427
jmp 0x43b42d
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43d427
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b30e
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b540
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43b481
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b53a
test al, 0x10
jne 0x43b4a1
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 0x43b53a
test al, 8
jne 0x43b4ca
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 0x43b53a
test al, 4
jne 0x43b4ff
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 0x43b53a
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 0x43b55c
mov eax, dword [edi + 0x34]
mov edx, dword [ebp - 4]
test byte [edx + eax], 4
jne 0x43d427
mov edx, dword [ebp - 0xc]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b44e
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
mov al, byte [esi]
cmp al, 0x80
jae 0x43d427
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
inc esi
and al, 4
je 0x43d427
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b57d
jmp 0x43ba69
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
mov al, byte [esi]
cmp al, 0x80
jae 0x43b5e4
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne 0x43d427
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43b5f2
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43b5e4
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b5c2
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
mov al, byte [esi]
cmp al, 0x80
jae 0x43d427
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
je 0x43d427
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b60f
jmp 0x43ba69
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
mov al, byte [esi]
cmp al, 0x80
jae 0x43b677
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 0x10
jne 0x43d427
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43b685
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43b677
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b655
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
mov al, byte [esi]
cmp al, 0x80
jae 0x43d427
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
je 0x43d427
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b6a2
jmp 0x43ba69
cmp eax, 0xf
ja case.0x43ec9b.15
jmp dword [eax*4 + 0x43f015]
cmp ecx, 1
jl 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b72c
mov edx, dword [edi + 0x6c]
push 0
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.0042e9ca
add esp, 0x14
test eax, eax
jne 0x43d427
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43b753
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b753
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43b753
cmp dword [edi + 0x1c], 1
je 0x43d427
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43d427
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b6f8
jmp 0x43ba6c
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43d8de
add esi, ecx
jmp 0x43ba6c
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43de8d
add esi, ecx
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
jmp 0x43b7a1
cmp esi, dword [edi + 0x6c]
jae 0x43d917
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x43ecb5.14
movzx eax, byte [eax + 0x43f065]
jmp dword [eax*4 + 0x43f055]
cmp esi, dword [edi + 0x6c]
jae case.0x43b7c1.10
cmp byte [esi], 0xa
jne case.0x43b7c1.10
inc esi
jmp case.0x43b7c1.10
cmp dword [edi + 0x60], 0
jne case.0x4375bf.115
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b7a1
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x43ecb5.14
cmp eax, 0x20
je case.0x43ecb5.14
cmp eax, 0xa0
je case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b801
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43b873
cmp eax, 0x20
je 0x43b873
cmp eax, 0xa0
jne case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b851
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43b8b9
cmp eax, 0xd
jle case.0x43ecb5.14
cmp eax, 0x85
je case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b893
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
jmp 0x43b8e1
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x43ecb5.14
cmp eax, 0xd
jle 0x43b907
cmp eax, 0x85
jne case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b8e1
jmp 0x43ba6c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 4
jne case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b927
jmp 0x43ba69
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 4
je case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b963
jmp 0x43ba69
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
jne case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b99e
jmp 0x43ba69
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 1
je case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b9da
jmp 0x43ba69
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
jne case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43ba0e
jmp 0x43ba69
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43ba6c
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 0x10
je case.0x43ecb5.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43ba43
mov edx, dword [ebp - 0xc]
cmp ecx, edx
je 0x4375a1
cmp dword [ebp - 0x14], 0
jne 0x43e782
mov eax, dword [ebp - 0x10]
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43c97b
cmp eax, 0xf
ja case.0x43ec9b.15
jmp dword [eax*4 + 0x43f0e1]
mov dword [ebp + 0x1c], ecx
cmp edx, 0x7fffffff
jge 0x43bb44
cmp ecx, edx
jge 0x43c8ea
cmp esi, dword [edi + 0x6c]
jae 0x43bc76
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43baeb
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.0042e9ca
add esp, 0x14
test eax, eax
jne 0x43c8ea
mov edx, dword [ebp - 0xc]
jmp 0x43bb12
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43bb12
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43bb12
cmp dword [edi + 0x1c], 1
je 0x43c8ea
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c8ea
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43bb30
lea esp, [esp]
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43bb30
inc esi
cmp esi, eax
jb 0x43bb21
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43bab8
jmp 0x43c8ea
cmp ecx, edx
jge 0x43c8ea
jmp 0x43bb51
cmp esi, dword [edi + 0x6c]
jae 0x43bbd0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43bb80
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.0042e9ca
add esp, 0x14
test eax, eax
jne 0x43c8ea
mov edx, dword [ebp - 0xc]
jmp 0x43bba7
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43bba7
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43bba7
cmp dword [edi + 0x1c], 1
je 0x43c8ea
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c8ea
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43bbc0
mov edi, edi
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43bbc0
inc esi
cmp esi, eax
jb 0x43bbb1
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43bb51
jmp 0x43c8ea
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
jmp 0x43c8ea
cmp edx, 0x7fffffff
jge 0x43bc60
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43bc37
inc esi
cmp esi, eax
jae 0x43bc27
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43bc27
inc esi
cmp esi, eax
jb 0x43bc18
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jl 0x43bc0f
jmp 0x43c8ea
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d72e
jmp 0x43c8ea
mov esi, dword [edi + 0x6c]
jmp 0x43c8ea
mov eax, dword [edi + 0x6c]
sub edx, ecx
sub eax, esi
cmp edx, eax
jbe 0x43bc9f
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d902
jmp 0x43c8ea
add esi, edx
jmp 0x43c8ea
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
mov ecx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43be0a
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bdab
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bcea
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x43bdab
test al, 0x10
jne 0x43bd0c
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 0x43bdab
test al, 8
jne 0x43bd37
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 0x43bdab
test al, 4
jne 0x43bd6e
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 0x43bdab
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 0x43bdc2
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43c8ea
cmp byte [esi], 0xa
jne 0x43bdf6
inc esi
jmp 0x43bdf6
cmp eax, 0xa
je 0x43bdf4
cmp dword [edi + 0x60], 0
jne 0x43c8ea
cmp eax, 0xb
je 0x43bdf4
cmp eax, 0xc
je 0x43bdf4
cmp eax, 0x85
je 0x43bdf4
cmp eax, 0x2028
je 0x43bdf4
cmp eax, 0x2029
jne 0x43c8ea
add esi, ecx
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43bcb1
jmp 0x43c8ea
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d762
jmp 0x43c8ea
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
mov ecx, 1
lea ecx, [ecx]
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bfb0
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bf29
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43be78
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43bf27
test al, 0x10
jne 0x43be94
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43bf21
test al, 8
jne 0x43beb9
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 0x43bf21
test al, 4
jne 0x43beea
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 0x43bf21
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 0x43bf83
je 0x43bf45
cmp eax, 0xa0
ja 0x43bf78
je 0x43bf45
cmp eax, 9
je 0x43bf45
cmp eax, 0x20
jne 0x43bfac
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x10], 0x12
sete al
cmp ecx, eax
je 0x43c8ea
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 0x43be41
jmp 0x43c8ea
cmp eax, 0x1680
je 0x43bf45
xor ecx, ecx
jmp 0x43bf4a
cmp eax, 0x205f
ja 0x43bfa5
je 0x43bf45
cmp eax, 0x2000
jb 0x43bfac
cmp eax, 0x200a
jbe 0x43bf45
cmp eax, 0x202f
je 0x43bf45
xor ecx, ecx
jmp 0x43bf4a
cmp eax, 0x3000
je 0x43bf45
xor ecx, ecx
jmp 0x43bf4a
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d72e
jmp 0x43c8ea
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
mov ecx, 1
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c120
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c0cc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c01b
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43c0ca
test al, 0x10
jne 0x43c037
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43c0c4
test al, 8
jne 0x43c05c
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 0x43c0c4
test al, 4
jne 0x43c08d
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 0x43c0c4
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 0x43c10f
je 0x43c119
cmp eax, 0xa
jb 0x43c0df
cmp eax, 0xd
jbe 0x43c119
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x10], 0x14
sete al
cmp ecx, eax
je 0x43c8ea
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 0x43bfe4
jmp 0x43c8ea
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43c0df
mov ecx, 1
jmp 0x43c0e1
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d902
jmp 0x43c8ea
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
mov edi, edi
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c269
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c23e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c18d
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c23c
test al, 0x10
jne 0x43c1a9
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c236
test al, 8
jne 0x43c1ce
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 0x43c236
test al, 4
jne 0x43c1ff
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 0x43c236
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 0x43c252
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43c8ea
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c151
jmp 0x43c8ea
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
jmp 0x43c8ea
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bfb0
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c389
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c2d8
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c387
test al, 0x10
jne 0x43c2f4
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c381
test al, 8
jne 0x43c319
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 0x43c381
test al, 4
jne 0x43c34a
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 0x43c381
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 0x43c8ea
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43c8ea
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 0x43c2a1
jmp 0x43c8ea
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
jmp 0x43c3d1
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c4e9
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c4be
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c40d
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c4bc
test al, 0x10
jne 0x43c429
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c4b6
test al, 8
jne 0x43c44e
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 0x43c4b6
test al, 4
jne 0x43c47f
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 0x43c4b6
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 0x43c4d2
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43c8ea
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c3d1
jmp 0x43c8ea
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d902
jmp 0x43c8ea
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c63e
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c609
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c558
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c607
test al, 0x10
jne 0x43c574
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c601
test al, 8
jne 0x43c599
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 0x43c601
test al, 4
jne 0x43c5ca
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 0x43c601
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 0x43c8ea
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43c8ea
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 0x43c521
jmp 0x43c8ea
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d762
jmp 0x43c8ea
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
lea esp, [esp]
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c789
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c75e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c6ad
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c75c
test al, 0x10
jne 0x43c6c9
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c756
test al, 8
jne 0x43c6ee
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 0x43c756
test al, 4
jne 0x43c71f
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 0x43c756
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 0x43c772
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43c8ea
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c671
jmp 0x43c8ea
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d72e
jmp 0x43c8ea
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c8ea
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c8d3
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c8a9
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c7f8
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c8a7
test al, 0x10
jne 0x43c814
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c8a1
test al, 8
jne 0x43c839
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 0x43c8a1
test al, 4
jne 0x43c86a
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 0x43c8a1
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 0x43c8ea
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43c8ea
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 0x43c7c1
jmp 0x43c8ea
cmp dword [edi + 0x7c], 0
je 0x43c8ea
cmp esi, dword [edi + 0x78]
jbe 0x43c8ea
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d902
cmp dword [ebp - 0x18], 0
jne 0x4375a1
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43cd85
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43c94b
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43c941
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.00437551
add esp, 0x28
test eax, eax
je 0x43c925
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xf
ja case.0x43ec9b.15
jmp dword [eax*4 + 0x43f121]
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43cd3c
cmp esi, dword [edi + 0x6c]
jae 0x43c9fb
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43c9c3
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e9ca
add esp, 0x14
test eax, eax
jne 0x43cd3c
mov edx, dword [ebp - 0xc]
jmp 0x43c9ea
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43c9ea
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43c9ea
cmp dword [edi + 0x1c], 1
je 0x43cd3c
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43cd3c
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c996
jmp 0x43cd3c
cmp dword [edi + 0x7c], 0
je 0x43cd3c
cmp esi, dword [edi + 0x78]
jbe 0x43cd3c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d902
jmp 0x43cd3c
sub edx, ecx
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp edx, ecx
jbe 0x43ca5b
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43cd3c
cmp esi, dword [edi + 0x78]
jbe 0x43cd3c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
jmp 0x43cd3c
add esi, edx
jmp 0x43cd3c
cmp ecx, edx
jge 0x43cd3c
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43cabe
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43ca8f
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43cd3c
cmp byte [esi], 0xa
jne 0x43cab4
jmp 0x43cab3
cmp eax, 0xa
je 0x43cab3
cmp dword [edi + 0x60], 0
jne 0x43cd3c
cmp eax, 0xb
je 0x43cab3
cmp eax, 0xc
je 0x43cab3
cmp eax, 0x85
jne 0x43cd3c
inc esi
inc ecx
cmp ecx, edx
jl 0x43ca71
jmp 0x43cd3c
cmp dword [edi + 0x7c], 0
je 0x43cd3c
cmp esi, dword [edi + 0x78]
jbe 0x43cd3c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d72e
jmp 0x43cd3c
cmp ecx, edx
jge 0x43cd3c
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43c9fb
movzx eax, byte [esi]
cmp eax, 9
je 0x43cd3c
cmp eax, 0x20
je 0x43cd3c
cmp eax, 0xa0
je 0x43cd3c
inc ecx
inc esi
cmp ecx, edx
jl 0x43caf1
jmp 0x43cd3c
cmp ecx, edx
jge 0x43cd3c
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43ca32
movzx eax, byte [esi]
cmp eax, 9
je 0x43cb52
cmp eax, 0x20
je 0x43cb52
cmp eax, 0xa0
jne 0x43cd3c
inc ecx
inc esi
cmp ecx, edx
jl 0x43cb31
jmp 0x43cd3c
cmp ecx, edx
jge 0x43cd3c
cmp esi, dword [edi + 0x6c]
jae 0x43cabe
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43cd3c
cmp eax, 0xb
je 0x43cd3c
cmp eax, 0xc
je 0x43cd3c
cmp eax, 0xd
je 0x43cd3c
cmp eax, 0x85
je 0x43cd3c
inc ecx
inc esi
cmp ecx, edx
jl 0x43cb65
jmp 0x43cd3c
cmp ecx, edx
jge 0x43cd3c
cmp esi, dword [edi + 0x6c]
jae 0x43c9fb
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43cbde
cmp eax, 0xb
je 0x43cbde
cmp eax, 0xc
je 0x43cbde
cmp eax, 0xd
je 0x43cbde
cmp eax, 0x85
jne 0x43cd3c
inc ecx
inc esi
cmp ecx, edx
jl 0x43cbb3
jmp 0x43cd3c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43cd3c
cmp esi, dword [edi + 0x6c]
jae 0x43ca32
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43cd3c
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43cbf4
jmp 0x43cd3c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43cd3c
jmp 0x43cc31
cmp esi, dword [edi + 0x6c]
jae 0x43cabe
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43cd3c
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43cc31
jmp 0x43cd3c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43cd3c
cmp esi, dword [edi + 0x6c]
jae 0x43c9fb
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43cd3c
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43cc66
jmp 0x43cd3c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43cd3c
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43ca32
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43cd3c
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43cca1
jmp 0x43cd3c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43cd3c
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43cabe
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43cd3c
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43ccd1
jmp 0x43cd3c
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43cd3c
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43cd20
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43cd3c
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43cd01
jmp 0x43cd3c
cmp dword [edi + 0x7c], 0
je 0x43cd3c
cmp esi, dword [edi + 0x78]
jbe 0x43cd3c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d902
cmp dword [ebp - 0x18], 0
jne 0x4375a1
cmp esi, dword [ebp - 0x14]
jb 0x43cd85
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.00437551
add esp, 0x28
dec esi
test eax, eax
jne 0x43edf5
cmp esi, dword [ebp - 0x14]
jae 0x43cd52
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 0x43cdc5
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 0x43cdb1
add ebx, 3
cmp dword [ebp - 4], 0x63
jne 0x43cfe0
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.00437551
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 0x43d34a
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 0x43ceb0
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 + 0x4851d8]
push ecx
add eax, ebx
push eax
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
je 0x43ce8d
cmp eax, 0xfffffc1e
jne 0x43edf5
cmp dword [edi + 0x70], ebx
jne 0x43edf5
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 0x43ce41
cmp dword [ebp + 0x28], 0
jne 0x43d439
movzx edx, byte [ebx]
movzx eax, byte [edx + 0x4851d8]
add ebx, eax
jmp 0x43cfe7
cmp byte [ebx + 3], 0x19
lea eax, [ebx + 3]
mov dword [ebp - 0x24], eax
jne 0x43cee6
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 0x43cf24
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
mov ebx, dword [ebp + 0x1c]
jmp 0x43cfe0
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
mov ebx, dword [ebp - 0x24]
jmp 0x43cfe0
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 0x43cfaf
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
cmp dword [ebp + 0x28], eax
jne 0x43d6b6
mov ebx, dword [ebp + 0x1c]
jmp 0x43cfe7
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
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 0x437577
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 + 0x4851d8]
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.00437551
mov ebx, eax
add esp, 0x28
cmp ebx, 0xfffffc1d
jne 0x43d07a
mov ecx, dword [edi + 0x70]
mov edx, dword [ebp + 0x14]
push ecx
push edx
call fcn.00414ee0
add esp, 8
test eax, eax
jne 0x43d07a
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 0x43d08c
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 + 0x4851d8]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
je 0x43d0ed
cmp eax, 0xfffffc1b
je 0x43d0ed
cmp eax, 0xfffffc1c
je 0x43d0ed
cmp eax, 0xfffffc1d
je 0x43d0ed
cmp eax, 0xfffffc1e
jne 0x43edf5
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 + 0x4851d8]
push eax
add edx, ebx
push edx
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
je 0x43d145
cmp eax, 0xfffffc1e
jne 0x43edf5
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 + 0x4851d8]
push ecx
movzx ecx, byte [ebx + 1]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
je 0x43d1a3
cmp eax, 0xfffffc1e
jne 0x43edf5
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 + 0x4851d8]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
je 0x43d202
cmp eax, 0xfffffc1b
je 0x43d202
cmp eax, 0xfffffc1e
jne 0x43edf5
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 + 0x4851d8]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
je 0x43d26a
cmp eax, 0xfffffc1b
je 0x43d26a
cmp eax, 0xfffffc1e
jne 0x43edf5
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 + 0x4851d8]
push ecx
add eax, ebx
push eax
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
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 + 0x4851d8]
push ecx
movzx ecx, byte [ebx + 3]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
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 + 0x4851d8]
push edx
add ecx, ebx
push ecx
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
je 0x43d3dc
cmp eax, 0xfffffc1e
jne 0x43edf5
cmp dword [edi + 0x70], ebx
jne 0x43edf5
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 0x43d391
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 0x43d430
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 + 0x4851d8]
push ecx
add eax, ebx
push eax
push esi
call fcn.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
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 0x43d4a5
cmp dword [edi + 0x54], 0
jne 0x43d427
cmp dword [edi + 0x58], 0
je 0x43d4a5
mov edx, dword [edi + 0x88]
add edx, dword [edi + 0x68]
cmp eax, edx
je 0x43d427
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 0x43d4f2
mov dword [ebp - 0x38], 0
jmp 0x43d502
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 0x43d530
lea eax, [ebp - 0x120]
mov dword [ebp - 0x30], eax
jmp 0x43d557
lea eax, [ecx*4]
push eax
call dword [0x490490]
add esp, 4
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x43d554
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x2c]
mov edx, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00411000
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x28], eax
mov al, byte [ecx]
add esp, 0xc
cmp al, 0x61
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 2
inc edx
mov dword [ebp + 0x28], ecx
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x28]
push ecx
mov ecx, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edi
push ecx
mov ecx, dword [ebp + 0x10]
push edx
movzx edx, al
movzx eax, byte [edx + 0x4851d8]
add eax, dword [ebp + 0x1c]
push ecx
push eax
push esi
call fcn.00437551
add esp, 0x28
mov dword [ebp - 0x24], eax
cmp eax, 1
je 0x43d681
cmp eax, 0xfffffc19
je 0x43d681
test eax, eax
je 0x43d5e7
cmp eax, 0xfffffc1e
jne 0x43d65c
cmp dword [edi + 0x70], ebx
jne 0x43d65c
lea ecx, [ebp - 0x3c]
mov dword [edi + 0x94], ecx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
lea eax, [edx*4]
mov edx, dword [edi + 0xc]
push eax
push ecx
push edx
call fcn.00411000
mov eax, dword [ebp + 0x1c]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [ebp + 0x1c], eax
mov al, byte [eax]
add esp, 0xc
cmp al, 0x54
je 0x43d588
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x120]
cmp eax, ecx
je case.0x43ecb5.14
push eax
call dword [0x490494]
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 0x43edf5
push ecx
call dword [0x490494]
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 0x43d6a1
push eax
call dword [0x490494]
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.00437551
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.0x4375bf.115
cmp esi, dword [edi + 0x78]
jbe case.0x4375bf.115
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jle case.0x4375bf.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 0x43d427
cmp esi, dword [edi + 0x78]
jbe 0x43d427
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x43d427
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.0x43ecb5.14
cmp esi, dword [edi + 0x78]
jbe case.0x43ecb5.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43ecb5.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 0x43d427
cmp esi, dword [edi + 0x78]
jbe 0x43d427
mov eax, 1
jmp 0x43d756
cmp dword [edi + 0x7c], 0
je case.0x4375bf.115
cmp esi, dword [edi + 0x6c]
jb case.0x4375bf.115
cmp esi, dword [edi + 0x78]
jbe case.0x4375bf.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x4375bf.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 0x43d865
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.0042ebe3
add esp, 0x14
test eax, eax
je 0x43d83f
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43d814
jmp 0x43d860
cmp dword [edi + 0x7c], 0
je 0x43d860
cmp esi, dword [edi + 0x6c]
jb 0x43d860
cmp esi, dword [edi + 0x78]
jbe 0x43d860
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d762
cmp esi, dword [ebp - 0x14]
jb case.0x4375bf.115
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
jmp 0x43d871
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x43d871
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 0x43d427
cmp esi, dword [edi + 0x6c]
jb 0x43d427
cmp esi, dword [edi + 0x78]
jbe 0x43d427
mov eax, 1
jmp 0x43d756
cmp dword [edi + 0x7c], 0
je case.0x43ecb5.14
cmp esi, dword [edi + 0x78]
jbe case.0x43ecb5.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43ecb5.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 0x43d427
cmp esi, dword [edi + 0x78]
jbe 0x43d427
mov eax, 1
jmp 0x43d756
test al, 0x10
jne 0x43d95a
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 0x43d9f8
test al, 8
jne 0x43d989
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 0x43d9f8
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43d9c4
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 0x43d9f8
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 0x43da0b
cmp dword [ebp - 4], 0x4e
je case.0x4375bf.115
jmp 0x43da28
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.0x43ecb5.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.00437551
add esp, 0x28
test eax, eax
je 0x4396c1
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
jmp 0x43da91
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x4375bf.115
cmp esi, dword [edi + 0x6c]
jae 0x43d917
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.0x4375bf.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.00437551
add esp, 0x28
test eax, eax
je 0x43da91
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43dcdb
cmp edx, dword [ebp - 0xc]
jge 0x43dc53
mov eax, 1
mov dword [ebp - 0x20], eax
cmp esi, dword [edi + 0x6c]
jae 0x43dc3c
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43dbfd
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43db4c
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x20], 2
jmp 0x43dbfb
test al, 0x10
jne 0x43db68
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x20], 3
jmp 0x43dbf5
test al, 8
jne 0x43db8d
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 0x43dbf5
test al, 4
jne 0x43dbbe
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 0x43dbf5
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 0x43dc0b
cmp ecx, 0x4e
je 0x43dc53
jmp 0x43dc27
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 0x43dc53
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 0x43db10
jmp 0x43dc53
cmp dword [edi + 0x7c], 0
je 0x43dc53
cmp esi, dword [edi + 0x78]
jbe 0x43dc53
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d902
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43dd6b
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43dcab
lea esp, [esp]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43dca1
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.00437551
add esp, 0x28
test eax, eax
je 0x43dc84
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, dword [ebp - 0xc]
jge 0x43dd31
cmp esi, dword [edi + 0x6c]
jae 0x43dd10
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 0x43dd2c
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43dce0
jmp 0x43dd2c
cmp dword [edi + 0x7c], 0
je 0x43dd2c
cmp esi, dword [edi + 0x78]
jbe 0x43dd2c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d902
cmp esi, dword [ebp - 0x14]
jb 0x43dd6b
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43dd38
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 0x43dda3
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 0x43de41
test al, 8
jne 0x43ddd2
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 0x43de41
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43de0d
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 0x43de41
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.0042e312
add esp, 8
test eax, eax
je case.0x43ecb5.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.00437551
add esp, 0x28
test eax, eax
je 0x439925
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x4375bf.115
cmp esi, dword [edi + 0x78]
jbe case.0x4375bf.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x4375bf.115
jmp 0x43d72e
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x43e02c
mov ecx, 1
mov dword [ebp - 0x20], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43e015
cmp dword [ebp - 0x1c], 0
movzx eax, byte [esi]
je 0x43dfe9
cmp eax, 0xc0
jb 0x43dfe9
test al, 0x20
jne 0x43df04
movzx ecx, byte [esi + 1]
and eax, 0x1f
mov dword [ebp - 0x20], 2
jmp 0x43dfe1
test al, 0x10
jne 0x43df2f
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 0x43dfe9
test al, 8
jne 0x43df64
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 0x43dfe7
test al, 4
jne 0x43dfa4
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 0x43dfe9
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.0042e312
add esp, 8
test eax, eax
je 0x43e02c
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 0x43dec9
jmp 0x43e02c
cmp dword [edi + 0x7c], 0
je 0x43e02c
cmp esi, dword [edi + 0x78]
jbe 0x43e02c
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d72e
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
lea esp, [esp]
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43d427
cmp dword [ebp - 0x1c], 0
je 0x43e08d
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43e08d
lea esp, [esp]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43e081
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.00437551
add esp, 0x28
test eax, eax
je 0x43e061
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x43ecb5.14
cmp esi, dword [edi + 0x6c]
jb case.0x43ecb5.14
cmp esi, dword [edi + 0x78]
jbe case.0x43ecb5.14
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x43ecb5.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.0x43ecb5.14
cmp esi, dword [edi + 0x78]
jbe case.0x43ecb5.14
jmp 0x43d8f6
cmp dword [edi + 0x7c], 0
je case.0x43ecb5.14
cmp esi, dword [edi + 0x6c]
jb case.0x43ecb5.14
jmp 0x43d8e8
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43ecb5.14
mov edx, dword [edi + 0x6c]
sub edx, dword [ebp - 0x10]
cmp esi, edx
ja 0x43e1c1
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
push eax
push ecx
push esi
call fcn.00411b83
add esp, 0xc
test eax, eax
jne 0x43e1c1
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.00437551
add esp, 0x28
test eax, eax
je 0x43e161
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x4375bf.115
cmp esi, dword [edi + 0x6c]
jb case.0x4375bf.115
cmp esi, dword [edi + 0x78]
jbe case.0x4375bf.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x4375bf.115
jmp 0x43d72e
cmp dword [edi + 0x7c], 0
je case.0x4375bf.115
cmp esi, dword [edi + 0x78]
jbe case.0x4375bf.115
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x4375bf.115
jmp 0x43d72e
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
lea ecx, [ecx]
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x4375bf.115
cmp esi, dword [edi + 0x6c]
jae 0x43d917
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
jne case.0x4375bf.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.00437551
add esp, 0x28
test eax, eax
je 0x43e251
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
lea ecx, [ecx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x4375bf.115
cmp esi, dword [edi + 0x6c]
jae 0x43d917
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 4], eax
jne case.0x4375bf.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.00437551
add esp, 0x28
test eax, eax
je 0x43e2e1
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 0x43e4c2
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge 0x43d427
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e474
test al, 0x20
jne 0x43e3b0
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43e474
test al, 0x10
jne 0x43e3d6
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 0x43e474
test al, 8
jne 0x43e405
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 0x43e474
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43e440
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 0x43e474
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 0x43e482
mov edx, dword [edi + 0x30]
movzx eax, byte [eax + edx]
cmp dword [ebp - 4], eax
je 0x43d427
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.00437551
add esp, 0x28
test eax, eax
je 0x43e374
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
jmp 0x43e4f1
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x4375bf.115
cmp esi, dword [edi + 0x6c]
jae 0x43d917
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
je case.0x4375bf.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.00437551
add esp, 0x28
test eax, eax
je 0x43e4f1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x43d427
cmp esi, dword [edi + 0x78]
jbe 0x43d427
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jmp 0x43d75c
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 0x43e6f1
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
jmp 0x43e5b1
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43d427
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e6b1
test al, 0x20
jne 0x43e5ed
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e6b1
test al, 0x10
jne 0x43e613
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 0x43e6b1
test al, 8
jne 0x43e642
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 0x43e6b1
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e67d
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 0x43e6b1
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 0x43d427
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.00437551
add esp, 0x28
test eax, eax
je 0x43e5b1
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
jmp 0x43e721
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x43ecb5.14
cmp esi, dword [edi + 0x6c]
jae 0x43de8d
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43ecb5.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.00437551
add esp, 0x28
test eax, eax
je 0x43e721
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 0x43ebe4
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge 0x43d427
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
cmp dword [ebp - 0x10], 0xc
jne 0x43e82c
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43e805
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.0042e9ca
add esp, 0x14
test eax, eax
jne 0x43d427
jmp 0x43e82c
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43e82c
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e82c
cmp dword [edi + 0x1c], 1
je 0x43d427
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d427
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e917
test al, 0x20
jne 0x43e853
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e917
test al, 0x10
jne 0x43e879
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 0x43e917
test al, 8
jne 0x43e8a8
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 0x43e917
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e8e3
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 0x43e917
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.0x43ec9b.15
jmp dword [ecx*4 + 0x43f161]
cmp eax, 0xd
ja 0x43e966
je 0x43e94e
cmp eax, 0xa
je case.0x43e926.12
jbe case.0x4375bf.115
cmp eax, 0xc
ja case.0x4375bf.115
jmp 0x43e983
cmp esi, dword [edi + 0x6c]
jae case.0x43e926.12
cmp byte [esi], 0xa
jne case.0x43e926.12
inc esi
jmp case.0x43e926.12
cmp eax, 0x85
je 0x43e983
cmp eax, 0x2027
jbe case.0x4375bf.115
cmp eax, 0x2029
ja case.0x4375bf.115
cmp dword [edi + 0x60], 0
jne case.0x43ecb5.14
jmp case.0x43e926.12
cmp eax, 0x180e
ja 0x43e9d3
je 0x43d427
cmp eax, 0xa0
ja 0x43e9c3
je 0x43d427
cmp eax, 9
je 0x43d427
cmp eax, 0x20
je 0x43d427
jmp case.0x43e926.12
cmp eax, 0x1680
je 0x43d427
jmp case.0x43e926.12
cmp eax, 0x205f
ja 0x43ea06
je 0x43d427
cmp eax, 0x2000
jb case.0x43e926.12
cmp eax, 0x200a
jbe 0x43d427
cmp eax, 0x202f
je 0x43d427
jmp case.0x43e926.12
cmp eax, 0x3000
je 0x43d427
jmp case.0x43e926.12
cmp eax, 0x180e
ja 0x43ea57
je case.0x43e926.12
cmp eax, 0xa0
ja 0x43ea47
je case.0x43e926.12
cmp eax, 9
je case.0x43e926.12
cmp eax, 0x20
jne case.0x4375bf.115
jmp case.0x43e926.12
cmp eax, 0x1680
jne case.0x4375bf.115
jmp case.0x43e926.12
cmp eax, 0x205f
ja 0x43ea8a
je case.0x43e926.12
cmp eax, 0x2000
jb case.0x4375bf.115
cmp eax, 0x200a
jbe case.0x43e926.12
cmp eax, 0x202f
jne case.0x4375bf.115
jmp case.0x43e926.12
cmp eax, 0x3000
jne case.0x4375bf.115
jmp case.0x43e926.12
cmp eax, 0x85
ja 0x43eabe
je case.0x43ecb5.14
cmp eax, 0xa
jb case.0x43e926.12
cmp eax, 0xd
jbe case.0x43ecb5.14
jmp case.0x43e926.12
cmp eax, 0x2028
jb case.0x43e926.12
cmp eax, 0x2029
jbe case.0x43ecb5.14
jmp case.0x43e926.12
cmp eax, 0x85
ja 0x43eafd
je case.0x43e926.12
cmp eax, 0xa
jb 0x43d427
cmp eax, 0xd
ja 0x43d427
jmp case.0x43e926.12
cmp eax, 0x2028
jb 0x43d427
cmp eax, 0x2029
ja 0x43d427
jmp case.0x43e926.12
cmp eax, 0x100
jae case.0x43e926.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4375bf.115
jmp case.0x43e926.12
cmp eax, 0x100
jae case.0x43ecb5.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43ecb5.14
jmp case.0x43e926.12
cmp eax, 0x100
jae case.0x43e926.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d427
jmp case.0x43e926.12
cmp eax, 0x100
jae case.0x4375bf.115
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4375bf.115
jmp case.0x43e926.12
cmp eax, 0x100
jae case.0x43e926.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43ecb5.14
jmp case.0x43e926.12
cmp eax, 0x100
jae 0x43d427
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43d427
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.00437551
add esp, 0x28
test eax, eax
je 0x43e7c3
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.00437551
add esp, 0x28
test eax, eax
jne 0x43edf5
lea ebx, [ebx]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43d427
cmp esi, dword [edi + 0x6c]
jae 0x43d8de
cmp dword [ebp - 0x10], 0xc
jne 0x43ec88
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43ec61
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e9ca
add esp, 0x14
test eax, eax
jne 0x43d427
jmp 0x43ec88
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43ec88
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43ec88
cmp dword [edi + 0x1c], 1
je 0x43d427
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d427
mov ecx, dword [ebp - 0x10]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x43ec9b.15
jmp dword [ecx*4 + 0x43f1a1]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x43ecb5.14
movzx edx, byte [eax + 0x43f1f1]
jmp dword [edx*4 + 0x43f1e1]
cmp esi, dword [edi + 0x6c]
jae case.0x43ec9b.12
cmp byte [esi], 0xa
jne case.0x43ec9b.12
inc esi
jmp case.0x43ec9b.12
cmp dword [edi + 0x60], 0
jne case.0x4375bf.115
jmp case.0x43ec9b.12
cmp eax, 9
je 0x43d427
cmp eax, 0x20
je 0x43d427
cmp eax, 0xa0
je 0x43d427
jmp case.0x43ec9b.12
cmp eax, 9
je case.0x43ec9b.12
cmp eax, 0x20
je case.0x43ec9b.12
cmp eax, 0xa0
jne case.0x4375bf.115
jmp case.0x43ec9b.12
cmp eax, 0xa
jb case.0x43ec9b.12
cmp eax, 0xd
jbe case.0x43ecb5.14
cmp eax, 0x85
je case.0x43ecb5.14
jmp case.0x43ec9b.12
cmp eax, 0xa
jb 0x43d427
cmp eax, 0xd
jbe case.0x43ec9b.12
cmp eax, 0x85
jne 0x43d427
jmp case.0x43ec9b.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x4375bf.115
jmp case.0x43ec9b.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43ecb5.14
jmp case.0x43ec9b.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d427
jmp case.0x43ec9b.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x4375bf.115
jmp case.0x43ec9b.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43ecb5.14
jmp case.0x43ec9b.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43d427
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.00437551
add esp, 0x28
test eax, eax
je 0x43ec21
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