Function at 0x4371d4
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 0x43cc7b
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 0x43cc89
test byte [ebp + 0x28], 2
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x20], edx
je 0x437224
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.0x437242.15
movzx edx, byte [ecx + 0x43ebb0]
jmp dword [edx*4 + 0x43ea80]
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 0x43731d
cmp dword [0x4a7f20], 0
je 0x43731a
mov dword [ebp - 0xa4], 1
movzx edx, byte [ebx + 4]
mov dword [ebp - 0xa0], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x9c], eax
mov ecx, dword [edi + 0x68]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x98], ecx
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x68]
mov ecx, esi
mov dword [ebp - 0x94], edx
sub eax, dword [edi + 0x68]
mov dword [ebp - 0x90], eax
sub ecx, dword [edi + 0x68]
mov dword [ebp - 0x8c], ecx
movzx edx, byte [ebx + 5]
movzx eax, byte [ebx + 6]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x7c], edx
movzx ecx, byte [ebx + 7]
movzx edx, byte [ebx + 8]
shl ecx, 8
or ecx, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 0x84]
mov dword [ebp - 0x84], eax
mov ecx, dword [edi + 0x98]
lea edx, [ebp - 0xa4]
push edx
mov dword [ebp - 0x80], ecx
call dword [0x4a7f20]
add esp, 4
test eax, eax
jg case.0x43e938.14
js 0x43ea78
add ebx, 6
movzx ecx, byte [ebx + 3]
lea eax, [ebx + 3]
cmp ecx, 0x66
je 0x437521
cmp ecx, 0x67
je 0x437521
cmp ecx, 0x64
je 0x4373a6
cmp ecx, 0x65
je 0x4373a6
cmp ecx, 0x68
jne 0x437359
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
jmp 0x437510
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.004371d4
add esp, 0x28
cmp eax, 1
je 0x43ca1a
test eax, eax
je 0x43739e
cmp eax, 0xfffffc1e
jne 0x43ea78
cmp dword [edi + 0x70], ebx
jne 0x43ea78
add ebx, dword [ebp + 0x1c]
jmp 0x437510
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 0x4373c7
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43767c
mov dword [ebp - 0x18], 0
cmp ecx, 0x65
jne 0x4374f7
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 0x437417
jmp 0x4373f4
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [ebp - 0x24]
je 0x437414
mov eax, dword [ebp + 0x1c]
add ecx, dword [edi + 0x24]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x4373f4
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x4374f7
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x437483
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.00414c50
add esp, 8
test eax, eax
jne 0x437483
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 0x437477
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43767c
mov dword [ebp - 0x18], 0
cmp ecx, dword [edi + 0x28]
ja 0x437434
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 0x4374f7
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.00414c50
add esp, 8
test eax, eax
jne 0x4374f7
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 0x4374e4
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43767c
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x4374a4
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 0x43ca48
cmp byte [ebx], 0x54
je 0x43ca48
add ebx, 3
jmp 0x437224
cmp dword [edi + 0x94], 0
jne 0x43753b
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
jmp 0x437510
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 0x43767c
mov edx, dword [edi + 0x94]
cmp eax, dword [edx + 4]
je 0x43767c
mov dword [ebp - 0x18], 0
cmp ecx, 0x67
jne 0x4374f7
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x1c], ecx
cmp dword [edi + 0x20], ecx
jle 0x4375a7
lea ecx, [ecx]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
cmp ecx, dword [ebp - 0x24]
je 0x4375a4
mov ecx, dword [ebp + 0x1c]
add eax, dword [edi + 0x24]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, dword [edi + 0x20]
jl 0x437584
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x4374f7
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x43760a
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.00414c50
add esp, 8
test eax, eax
jne 0x43760a
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 0x43767c
mov dword [ebp - 0x18], 0
cmp eax, dword [edi + 0x28]
ja 0x4375c4
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 0x4374f7
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.00414c50
add esp, 8
test eax, eax
jne 0x4374f7
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 0x43767c
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x437629
jmp 0x4374f7
mov dword [ebp - 0x18], 1
mov eax, 3
jmp 0x437504
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 0x4376b7
mov dword [edi + 0x38], 1
add ebx, 3
jmp 0x437224
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 0x4376dc
add ecx, 2
mov dword [ebp + 0x18], ecx
add ebx, 3
jmp 0x437224
cmp dword [edi + 0x94], eax
je 0x43d108
mov ebx, dword [edi + 0x94]
cmp dword [ebx + 4], eax
jne 0x43d108
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.004164f0
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 0x437224
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x20], eax
add ebx, 2
jmp 0x437224
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.004371d4
add esp, 0x28
cmp eax, 1
je 0x4377a5
cmp eax, 0xfffffc19
je 0x4377a5
test eax, eax
je 0x43778f
cmp eax, 0xfffffc1e
jne 0x43ea78
cmp dword [edi + 0x70], ebx
jne 0x43ea78
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.0x437242.88
jmp 0x4377ab
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
cmp byte [ebx], 0x55
je case.0x43e938.14
test byte [ebp + 0x28], 1
jne 0x43d32d
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 0x4377c4
mov edx, dword [edi + 0x80]
add ebx, 3
mov dword [ebp + 0x18], edx
jmp 0x437224
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.004371d4
add esp, 0x28
cmp eax, 1
je 0x43d0aa
cmp eax, 0xfffffc19
je 0x43d0aa
cmp eax, 0xfffffc1c
je 0x437867
cmp eax, 0xfffffc1b
je 0x437867
cmp eax, 0xfffffc1a
je 0x437867
test eax, eax
je 0x437851
cmp eax, 0xfffffc1e
jne 0x43ea78
cmp dword [edi + 0x70], ebx
jne 0x43ea78
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.0x437242.89
jmp 0x43787b
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x437867
test byte [ebp + 0x28], 1
jne 0x43d32d
add ebx, 3
jmp 0x437224
cmp dword [ebp - 0x1c], eax
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 1]
je 0x4378ca
shl eax, 8
or eax, ecx
jle 0x4378da
mov ecx, dword [edi + 0x68]
dec esi
dec eax
cmp esi, ecx
jb case.0x437242.115
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x4378c4
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x4378b8
test eax, eax
jg 0x4378a4
jmp 0x4378da
shl eax, 8
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x68]
jb case.0x43e938.14
cmp esi, dword [edi + 0x78]
jae 0x4378e2
mov dword [edi + 0x78], esi
add ebx, 3
jmp 0x437224
cmp dword [0x4a7f20], eax
je 0x437982
mov dword [ebp - 0x74], 1
movzx edx, byte [ebx + 1]
mov dword [ebp - 0x70], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x6c], eax
mov ecx, dword [edi + 0x68]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x68], ecx
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x68]
mov ecx, esi
mov dword [ebp - 0x64], edx
sub eax, dword [edi + 0x68]
mov dword [ebp - 0x60], eax
sub ecx, dword [edi + 0x68]
mov dword [ebp - 0x5c], ecx
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x4c], edx
movzx ecx, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl ecx, 8
or ecx, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 0x84]
mov dword [ebp - 0x54], eax
mov ecx, dword [edi + 0x98]
lea edx, [ebp - 0x74]
push edx
mov dword [ebp - 0x50], ecx
call dword [0x4a7f20]
add esp, 4
test eax, eax
jg 0x43d0aa
js 0x43ea78
add ebx, 6
jmp 0x437224
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.004371d4
add esp, 0x28
cmp eax, 1
je 0x4379f0
test eax, eax
je 0x4379da
cmp eax, 0xfffffc1e
jne 0x43ea78
cmp dword [edi + 0x70], ebx
jne 0x43ea78
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437994
jmp 0x4379f6
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
mov al, byte [ebx]
cmp al, 0x5d
je 0x437a04
cmp al, 0x54
jne 0x43d532
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437a04
cmp byte [ebx], 0x55
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x74]
mov dword [ebp + 0x18], edx
je 0x437a32
cmp esi, dword [ebp - 0x18]
jne 0x43cb4e
add ebx, 3
jmp 0x437224
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.0x437242.84
jmp 0x437224
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
jmp 0x437a94
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
cmp byte [ebx], 0x54
je 0x437a94
add ebx, 3
jmp 0x437224
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 0x437ab4
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
jmp 0x437224
inc ebx
jmp 0x437b04
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x437b04
add ebx, 3
jmp 0x437224
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 0x437b4d
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 0x437b54
mov dword [ebp - 0x18], 0
cmp al, 0x58
je 0x43d36b
cmp al, 0x59
je 0x43d36b
cmp al, 0x5a
je 0x43d36b
cmp al, 0x5b
je 0x43d36b
cmp al, 0x5d
je 0x43d36b
cmp al, 0x5f
je 0x437b88
cmp al, 0x62
jne 0x437c24
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 0x437baf
mov dword [edi + 0x38], 1
jmp 0x437bda
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 0x437bda
add ecx, 2
mov dword [ebp + 0x18], ecx
cmp dword [edi + 0x94], 0
je 0x437c24
mov ecx, dword [edi + 0x94]
cmp dword [ecx + 4], eax
jne 0x437c24
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.00410d80
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 0x437224
cmp byte [ebx], 0x55
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x20], eax
je 0x437c38
cmp esi, dword [ebp - 0x18]
jne 0x43cbe0
add ebx, 3
jmp 0x437224
cmp dword [edi + 0x3c], eax
je 0x437c4e
cmp esi, dword [edi + 0x68]
je case.0x43e938.14
test byte [ebp + 0x20], 2
je case.0x437242.1
mov ecx, dword [edi + 0x68]
cmp esi, ecx
je 0x437cc8
cmp esi, dword [edi + 0x6c]
je 0x43d0aa
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437c97
cmp esi, ecx
jbe 0x43d0aa
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.0042e74c
add esp, 0x14
test eax, eax
je 0x43d0aa
inc ebx
jmp 0x437224
mov edx, dword [edi + 0x68]
add edx, dword [edi + 0x1c]
cmp esi, edx
jb 0x43d0aa
mov ecx, dword [edi + 0x1c]
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne 0x43d0aa
cmp ecx, 1
je 0x437cc8
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne 0x43d0aa
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x68]
jne case.0x437242.115
inc ebx
jmp 0x437224
mov ecx, dword [edi + 0x88]
add ecx, dword [edi + 0x68]
cmp esi, ecx
jne case.0x43e938.14
inc ebx
jmp 0x437224
mov dword [ebp + 0x10], esi
inc ebx
jmp 0x437224
test byte [ebp + 0x20], 2
je 0x437d92
cmp esi, dword [edi + 0x6c]
jae 0x437d68
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437d37
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.0042e920
add esp, 0x14
test eax, eax
je 0x43d0aa
inc ebx
jmp 0x437224
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43d0aa
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43d0aa
cmp dword [edi + 0x1c], 1
je 0x437d8c
mov dl, byte [esi + 1]
cmp dl, byte [edi + 0x2d]
jne 0x43d0aa
inc ebx
jmp 0x437224
cmp dword [edi + 0x40], eax
jne case.0x437242.115
cmp dword [edi + 0x7c], eax
je 0x437d8c
cmp esi, dword [edi + 0x78]
jbe 0x437d8c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
inc ebx
jmp 0x437224
cmp dword [edi + 0x40], eax
jne 0x43d0aa
cmp dword [edi + 0x50], eax
je case.0x437242.23
cmp esi, dword [edi + 0x6c]
jb case.0x437242.115
jmp 0x437d71
cmp esi, dword [edi + 0x6c]
jae 0x437e10
mov eax, dword [edi + 0x18]
test eax, eax
je 0x437dd7
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.0042e920
add esp, 0x14
test eax, eax
je 0x43d0aa
jmp 0x437e02
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43d0aa
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43d0aa
cmp dword [edi + 0x1c], 1
je 0x437e02
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne 0x43d0aa
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
jne 0x43d0aa
cmp dword [edi + 0x7c], 0
je 0x437d8c
cmp esi, dword [edi + 0x78]
jbe 0x437d8c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d41d
inc ebx
jmp 0x437224
cmp dword [ebp - 0x1c], eax
je 0x438027
cmp esi, dword [edi + 0x68]
je 0x437f30
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x437e66
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x437e5a
cmp eax, dword [edi + 0x78]
jae 0x437e6e
mov dword [edi + 0x78], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x437f18
test cl, 0x20
jne 0x437e8e
movzx eax, byte [eax + 1]
and ecx, 0x1f
jmp 0x437f10
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x10
jne 0x437ea6
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x437f0e
test cl, 8
jne 0x437ebd
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x437f08
test cl, 4
jne 0x437ee0
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 0x437f08
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 0x437f30
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x437f30
mov ecx, 1
jmp 0x437f32
xor ecx, ecx
cmp esi, dword [edi + 0x6c]
jb 0x437f5a
cmp dword [edi + 0x7c], 0
je 0x437f53
cmp esi, dword [edi + 0x78]
jbe 0x437f53
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
xor eax, eax
jmp 0x438081
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x438010
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x437f7e
and eax, 0x1f
shl eax, 6
jmp 0x43800e
test al, 0x10
jne 0x437f90
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x438008
test al, 8
jne 0x437fae
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 0x438008
test al, 4
jne 0x437fd8
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 0x438008
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 0x43806d
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43806d
mov eax, 1
jmp 0x438081
cmp esi, dword [edi + 0x68]
jne 0x438030
xor ecx, ecx
jmp 0x43804c
cmp esi, dword [edi + 0x78]
ja 0x43803b
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 0x438071
cmp dword [edi + 0x7c], 0
je 0x43806d
cmp esi, dword [edi + 0x78]
jbe 0x43806d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3b1
xor eax, eax
jmp 0x438081
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 0x4398a9
cmp eax, ecx
jne 0x437224
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 0x4380d3
cmp esi, dword [edi + 0x6c]
jae case.0x437242.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.0042e920
add esp, 0x14
test eax, eax
jne case.0x43e938.14
jmp case.0x437242.13
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja case.0x437242.13
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x437242.13
cmp dword [edi + 0x1c], 1
je case.0x43e938.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x43e938.14
mov eax, dword [edi + 0x6c]
mov edx, esi
mov ecx, 1
add esi, ecx
cmp edx, eax
jae 0x43d392
cmp dword [ebp - 0x1c], 0
je 0x438128
cmp esi, eax
jae 0x438128
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x438128
add esi, ecx
cmp esi, eax
jb 0x438118
add ebx, ecx
jmp 0x437224
mov ecx, esi
mov eax, 1
add esi, eax
cmp ecx, dword [edi + 0x6c]
jae 0x43d3c6
add ebx, eax
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d3fa
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438246
cmp eax, 0xc0
jb 0x438246
test al, 0x20
jne 0x438182
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438246
test al, 0x10
jne 0x4381a8
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 0x438246
test al, 8
jne 0x4381d7
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 0x438246
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438212
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 0x438246
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 0x437d8c
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43d0aa
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d3fa
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438362
cmp eax, 0xc0
jb 0x438362
test al, 0x20
jne 0x43829e
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438362
test al, 0x10
jne 0x4382c4
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 0x438362
test al, 8
jne 0x4382f3
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 0x438362
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43832e
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 0x438362
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 0x43d0aa
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43d0aa
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d3fa
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43847e
cmp eax, 0xc0
jb 0x43847e
test al, 0x20
jne 0x4383ba
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43847e
test al, 0x10
jne 0x4383e0
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 0x43847e
test al, 8
jne 0x43840f
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 0x43847e
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43844a
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 0x43847e
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 0x437d8c
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d0aa
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d3fa
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43859a
cmp eax, 0xc0
jb 0x43859a
test al, 0x20
jne 0x4384d6
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43859a
test al, 0x10
jne 0x4384fc
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 0x43859a
test al, 8
jne 0x43852b
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 0x43859a
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438566
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 0x43859a
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 0x43d0aa
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43d0aa
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d3fa
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4386b6
cmp eax, 0xc0
jb 0x4386b6
test al, 0x20
jne 0x4385f2
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4386b6
test al, 0x10
jne 0x438618
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 0x4386b6
test al, 8
jne 0x438647
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 0x4386b6
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438682
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 0x4386b6
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 0x437d8c
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43d0aa
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d3fa
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4387d2
cmp eax, 0xc0
jb 0x4387d2
test al, 0x20
jne 0x43870e
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4387d2
test al, 0x10
jne 0x438734
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 0x4387d2
test al, 8
jne 0x438763
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 0x4387d2
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43879e
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 0x4387d2
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 0x43d0aa
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43d0aa
inc ebx
jmp 0x437224
mov ecx, dword [edi + 0x6c]
cmp esi, ecx
jae 0x43d3fa
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x4388e5
cmp eax, 0xc0
jb 0x4388e5
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43882c
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x4388e5
test al, 0x10
jne 0x43884c
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 0x4388e5
test al, 8
jne 0x438875
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 0x4388e5
test al, 4
jne 0x4388aa
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 0x4388e5
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 0x43891e
je 0x438906
cmp eax, 0xa
je 0x437d8c
jbe 0x43d0aa
cmp eax, 0xc
ja 0x43d0aa
jmp 0x43893b
cmp esi, ecx
jae 0x437d8c
cmp byte [esi], 0xa
jne 0x437d8c
inc esi
inc ebx
jmp 0x437224
cmp eax, 0x85
je 0x43893b
cmp eax, 0x2027
jbe 0x43d0aa
cmp eax, 0x2029
ja 0x43d0aa
cmp dword [edi + 0x60], 0
jne case.0x437242.115
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d432
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438a49
cmp eax, 0xc0
jb 0x438a49
test al, 0x20
jne 0x438985
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x438a49
test al, 0x10
jne 0x4389ab
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 0x438a49
test al, 8
jne 0x4389da
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 0x438a49
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x438a15
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 0x438a49
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 0x438a8c
je case.0x437242.115
cmp eax, 0xa0
ja 0x438a7b
je case.0x437242.115
cmp eax, 9
je case.0x437242.115
cmp eax, 0x20
je case.0x437242.115
inc ebx
jmp 0x437224
cmp eax, 0x1680
je case.0x437242.115
inc ebx
jmp 0x437224
cmp eax, 0x205f
ja 0x438ac0
je case.0x437242.115
cmp eax, 0x2000
jb 0x437d8c
cmp eax, 0x200a
jbe case.0x437242.115
cmp eax, 0x202f
je case.0x437242.115
inc ebx
jmp 0x437224
cmp eax, 0x3000
je case.0x437242.115
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d432
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438bcf
cmp eax, 0xc0
jb 0x438bcf
test al, 0x20
jne 0x438b0b
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438bcf
test al, 0x10
jne 0x438b31
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 0x438bcf
test al, 8
jne 0x438b60
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 0x438bcf
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438b9b
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 0x438bcf
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 0x438c12
je 0x437d8c
cmp eax, 0xa0
ja 0x438c01
je 0x437d8c
cmp eax, 9
je 0x437d8c
cmp eax, 0x20
jne case.0x437242.115
inc ebx
jmp 0x437224
cmp eax, 0x1680
jne case.0x437242.115
inc ebx
jmp 0x437224
cmp eax, 0x205f
ja 0x438c46
je 0x437d8c
cmp eax, 0x2000
jb case.0x437242.115
cmp eax, 0x200a
jbe 0x437d8c
cmp eax, 0x202f
jne case.0x437242.115
inc ebx
jmp 0x437224
cmp eax, 0x3000
jne case.0x437242.115
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d432
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438d55
cmp eax, 0xc0
jb 0x438d55
test al, 0x20
jne 0x438c91
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x438d55
test al, 0x10
jne 0x438cb7
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 0x438d55
test al, 8
jne 0x438ce6
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 0x438d55
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x438d21
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 0x438d55
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 0x438d7a
je case.0x437242.115
cmp eax, 0xa
jb 0x437d8c
cmp eax, 0xd
jbe case.0x437242.115
inc ebx
jmp 0x437224
cmp eax, 0x2028
jb 0x437d8c
cmp eax, 0x2029
jbe case.0x437242.115
inc ebx
jmp 0x437224
cmp esi, dword [edi + 0x6c]
jae 0x43d432
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x438e94
cmp eax, 0xc0
jb 0x438e94
test al, 0x20
jne 0x438dd0
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x438e94
test al, 0x10
jne 0x438df6
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 0x438e94
test al, 8
jne 0x438e25
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 0x438e94
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x438e60
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 0x438e94
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 0x438eb9
je 0x437d8c
cmp eax, 0xa
jb case.0x437242.115
cmp eax, 0xd
ja case.0x437242.115
inc ebx
jmp 0x437224
cmp eax, 0x2028
jb case.0x437242.115
cmp eax, 0x2029
ja case.0x437242.115
inc ebx
jmp 0x437224
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 0x438f03
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + eax*4]
lea eax, [edx + eax*4]
test ecx, ecx
js 0x438f03
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x438f13
cmp dword [edi + 0x48], 0
je 0x438f0d
xor edx, edx
jmp 0x438f13
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.0x438f2c
movzx ecx, byte [ecx + 0x43ec30]
jmp dword [ecx*4 + 0x43ec28]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x486e78]
movsx eax, byte [eax + 0x486e80]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x438f9d
mov eax, accept
mov dword [ebp - 0xc], eax
jmp 0x438f9d
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 0x438f97
mov eax, accept
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x10]
add ebx, 5
test edx, edx
je 0x437224
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x438fe7
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.0042eb39
add esp, 0x14
test eax, eax
je 0x43d53b
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 8]
jle 0x438fb4
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp ecx, eax
je 0x437224
cmp dword [ebp - 0x14], 0
je 0x43d48d
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e938.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.0042eb39
add esp, 0x14
test eax, eax
je 0x43d44b
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.004371d4
add esp, 0x28
test eax, eax
je 0x439034
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.0042eb39
add esp, 0x14
test eax, eax
je 0x43d53b
add esi, dword [ebp - 0x10]
jmp 0x437224
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.0x4390d9
movzx edx, byte [edx + 0x43ec40]
jmp dword [edx*4 + 0x43ec38]
add eax, 0xffffffba
movzx edx, al
and edx, 1
mov dword [ebp - 0x14], edx
movsx edx, byte [eax + 0x486e78]
movsx eax, byte [eax + 0x486e80]
inc ebx
mov dword [ebp - 0xc], eax
test eax, eax
mov dword [ebp - 8], edx
mov eax, 1
jne 0x439161
mov dword [ebp - 0xc], accept
jmp 0x439161
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 0x439147
mov dword [ebp - 0xc], accept
mov edx, dword [ebp - 8]
add ebx, 5
mov eax, 1
jmp 0x439161
mov eax, 1
mov edx, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
cmp dword [ebp - 0x1c], 0
je 0x4392aa
mov dword [ebp + 0x1c], 1
cmp edx, 1
jl 0x4392ec
cmp esi, dword [edi + 0x6c]
jae 0x43d561
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x439267
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x4391ab
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x439264
test al, 0x10
jne 0x4391cb
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 0x439264
test al, 8
jne 0x4391f4
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 0x439264
test al, 4
jne 0x439229
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 0x439264
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 0x439279
cmp ecx, 0x4e
je 0x43d0aa
jmp 0x43929c
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.0x437242.115
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], edx
jle 0x43917b
jmp 0x4392ec
mov dword [ebp + 0x1c], eax
cmp edx, eax
jl 0x4392ec
cmp esi, dword [edi + 0x6c]
jae 0x43d59a
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.0x437242.115
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jle 0x4392b1
mov ecx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x437224
cmp dword [ebp - 0x14], 0
mov dword [ebp + 0x1c], edx
je 0x43d77d
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x43d6e2
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x437242.115
cmp esi, dword [edi + 0x6c]
jae 0x43d59a
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43d67b
test al, 0x20
jne 0x43d5b7
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43d67b
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.0x4393ad
movzx edx, byte [edx + 0x43ec50]
jmp dword [edx*4 + 0x43ec48]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x486e78]
movsx eax, byte [eax + 0x486e80]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x439427
mov eax, accept
jmp 0x439424
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 0x439415
mov eax, accept
mov dword [ebp - 0xc], eax
add ebx, 5
jmp 0x439427
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 0x43955f
cmp esi, dword [edi + 0x6c]
jae 0x43d561
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x439535
cmp eax, 0xc0
jb 0x439535
test al, 0x20
jne 0x439471
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x439535
test al, 0x10
jne 0x439497
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 0x439535
test al, 8
jne 0x4394c6
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 0x439535
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x439501
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 0x439535
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.0042e268
add esp, 8
test eax, eax
je 0x43d0aa
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x439437
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x437224
cmp dword [ebp - 0x14], 0
je 0x43db39
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e938.14
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43dac4
cmp eax, 0xc0
jb 0x43dac4
test al, 0x20
jne 0x43da00
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43dac4
cmp dword [ebp - 0x1c], eax
je 0x43966a
mov edx, 1
movzx ecx, byte [ebx + edx]
add ebx, edx
mov eax, edx
cmp ecx, 0xc0
jb 0x43963c
test cl, 0x20
jne 0x439616
lea eax, [edx + 1]
jmp 0x43963c
test cl, 0x10
jne 0x439622
mov eax, 3
jmp 0x43963c
test cl, 8
jne 0x43962e
mov eax, 4
jmp 0x43963c
test cl, 4
mov eax, 0
setne al
add eax, 5
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp eax, ecx
jg 0x43dd40
test eax, eax
jle 0x437224
mov dl, byte [ebx]
mov cl, byte [esi]
dec eax
inc esi
inc ebx
cmp dl, cl
jne 0x43d0aa
test eax, eax
jle 0x437224
jmp 0x439651
mov edx, dword [edi + 0x6c]
sub edx, esi
mov eax, 1
cmp edx, eax
jl 0x43dd7d
mov cl, byte [esi]
add esi, eax
cmp byte [ebx + 1], cl
jne 0x43d0aa
add ebx, 2
jmp 0x437224
cmp dword [ebp - 0x1c], eax
je 0x4398c3
movzx eax, byte [ebx + 1]
inc ebx
mov ecx, 1
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x1c], eax
cmp eax, 0xc0
jb 0x439788
test al, 0x20
jne 0x4396d2
movzx edx, byte [ebx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
mov ecx, 2
jmp 0x439785
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
and ecx, 0x3f
and edx, 0x3f
test al, 0x10
jne 0x4396fb
and eax, 0xf
shl eax, 6
or eax, ecx
shl eax, 6
or eax, edx
mov ecx, 3
jmp 0x439785
test al, 8
jne 0x43971f
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 0x439785
test al, 4
jne 0x43974f
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 0x439785
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 0x43dd95
movzx ecx, byte [esi]
inc esi
cmp eax, 0x80
jae 0x4397c5
mov eax, dword [edi + 0x30]
mov dl, byte [ecx + eax]
mov ecx, dword [ebp + 0x1c]
inc ebx
cmp byte [ecx + eax], dl
je 0x437224
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 0x4398a6
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x4397ea
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x4398a6
test cl, 0x10
jne 0x43980b
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 0x4398a6
test cl, 8
jne 0x439835
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 0x4398a6
test cl, 4
jne 0x43986b
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 0x4398a6
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 0x437224
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 0x43d3c6
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.0x437242.115
add ebx, 2
jmp 0x437224
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 0x43999b
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 0x43999b
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], eax
add ebx, edx
jmp 0x439996
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], edx
add ebx, edx
jmp 0x439996
mov edx, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], edx
mov eax, edx
add ebx, edx
jmp 0x43999b
add ecx, 0xffffffe1
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x486e78]
mov dword [ebp - 8], eax
movsx eax, byte [ecx + 0x486e80]
add ebx, edx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x43999e
mov eax, accept
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x1c], 0
movzx ecx, byte [ebx]
mov dword [ebp - 4], ecx
je 0x439be3
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x24], ebx
cmp ecx, 0xc0
jb 0x439aa8
movzx edx, byte [ebx + 1]
and edx, 0x3f
test cl, 0x20
jne 0x4399de
and ecx, 0x1f
shl ecx, 6
or ecx, edx
mov edx, 2
jmp 0x439aa2
test cl, 0x10
jne 0x439a01
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 0x439aa2
test cl, 8
jne 0x439a2d
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 0x439aa2
test cl, 4
jne 0x439a65
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 0x439aa2
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 0x439be5
mov ecx, dword [ebp - 8]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x439afe
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x43d53b
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00411903
add esp, 0xc
test eax, eax
jne 0x43d53b
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 0x439ac2
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x437224
cmp dword [ebp - 0x14], 0
jne 0x43ddad
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x439b6c
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x439b4b
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00411903
add esp, 0xc
test eax, eax
jne 0x439b4b
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 0x439b1a
jmp 0x439b6c
cmp dword [edi + 0x7c], 0
je 0x439b6c
cmp esi, dword [edi + 0x6c]
jb 0x439b6c
cmp esi, dword [edi + 0x78]
jbe 0x439b6c
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
cmp dword [ebp - 0x18], 0
jne 0x437224
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
cmp esi, dword [ebp - 0x14]
je case.0x43e938.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.004371d4
add esp, 0x28
test eax, eax
je 0x439ba7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ebx, edx
test byte [ebp + 0x20], 1
je 0x439cf9
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 0x439c44
jmp 0x439c19
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43de76
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
jne case.0x43e938.14
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc edx
mov dword [ebp + 0x1c], edx
cmp edx, ecx
jle 0x439c14
cmp ecx, eax
je 0x437224
cmp dword [ebp - 0x14], 0
jne 0x43de9a
mov dword [ebp - 0x14], esi
cmp ecx, eax
jge 0x439c9e
mov dword [ebp + 0x1c], ecx
cmp esi, dword [edi + 0x6c]
jae 0x439c82
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
jne 0x439c9e
mov ecx, dword [ebp + 0x1c]
inc ecx
inc esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jl 0x439c60
jmp 0x439c9e
cmp dword [edi + 0x7c], 0
je 0x439c9e
cmp esi, dword [edi + 0x78]
jbe 0x439c9e
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
cmp dword [ebp - 0x18], 0
jne 0x437224
cmp esi, dword [ebp - 0x14]
jb 0x439ce7
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.004371d4
add esp, 0x28
dec esi
test eax, eax
jne 0x43ea78
cmp esi, dword [ebp - 0x14]
jae 0x439cb4
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 0x439d2e
cmp esi, dword [edi + 0x6c]
jae 0x43d59a
movzx edx, byte [esi]
inc esi
cmp ecx, edx
jne case.0x437242.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 0x439d08
cmp edx, eax
je 0x437224
cmp dword [ebp - 0x14], 0
mov edx, dword [ebp - 8]
mov dword [ebp + 0x1c], edx
jne 0x43df30
mov dword [ebp - 0x14], esi
cmp edx, eax
jge 0x439d83
cmp esi, dword [edi + 0x6c]
jae 0x439d67
movzx edx, byte [esi]
cmp ecx, edx
jne 0x439d83
mov edx, dword [ebp + 0x1c]
inc edx
inc esi
mov dword [ebp + 0x1c], edx
cmp edx, eax
jl 0x439d4d
jmp 0x439d83
cmp dword [edi + 0x7c], 0
je 0x439d83
cmp esi, dword [edi + 0x78]
jbe 0x439d83
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
cmp dword [ebp - 0x18], 0
jne 0x437224
cmp esi, dword [ebp - 0x14]
jb 0x439dcc
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.004371d4
add esp, 0x28
dec esi
test eax, eax
jne 0x43ea78
cmp esi, dword [ebp - 0x14]
jae 0x439d99
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 0x43d432
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x439edc
cmp eax, 0xc0
jb 0x439edc
test al, 0x20
jne 0x439e18
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x439edc
test al, 0x10
jne 0x439e3e
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 0x439edc
test al, 8
jne 0x439e6d
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 0x439edc
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x439ea8
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 0x439edc
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 0x439f18
cmp eax, 0x100
jae 0x439ef0
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 0x437224
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 0x437224
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 0x439fdf
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 0x439fe2
mov edx, 1
xor eax, eax
mov dword [ebp - 0x18], edx
add ebx, edx
jmp 0x439fda
mov eax, 1
mov dword [ebp - 0x18], eax
add ebx, eax
jmp 0x439fda
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x18], ecx
add ebx, ecx
jmp 0x439fdf
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 0x439fdf
add ecx, 0xffffffd4
movzx eax, cl
and eax, 1
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x486e78]
movsx ecx, byte [ecx + 0x486e80]
inc ebx
mov dword [ebp - 0xc], ecx
test ecx, ecx
jne 0x439fe2
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 0x43a3ec
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 0x43a12e
cmp eax, 1
jl 0x43a15b
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43a105
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x43a049
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x43a105
test cl, 0x10
jne 0x43a06a
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 0x43a105
test cl, 8
jne 0x43a094
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 0x43a105
test cl, 4
jne 0x43a0ca
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 0x43a105
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 0x43a114
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
cmp dword [ebp - 4], ecx
je case.0x43e938.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a017
jmp 0x43a15b
cmp eax, 1
jl 0x43a15b
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43e938.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a133
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x437224
cmp dword [ebp - 0x14], 0
jne 0x43dfb9
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43a354
mov dword [ebp + 0x1c], eax
cmp eax, edx
jge 0x43a2c8
mov eax, 1
cmp esi, dword [edi + 0x6c]
jae 0x43a2b1
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x43a287
movzx eax, byte [esi + 1]
and eax, 0x3f
test cl, 0x20
jne 0x43a1c3
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x43a287
test cl, 0x10
jne 0x43a1e6
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 0x43a287
test cl, 8
jne 0x43a212
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 0x43a287
test cl, 4
jne 0x43a24a
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 0x43a287
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 0x43a299
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp - 4], ecx
je 0x43a2c8
add esi, eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43a188
jmp 0x43a2c8
cmp dword [edi + 0x7c], 0
je 0x43a2c8
cmp esi, dword [edi + 0x78]
jbe 0x43a2c8
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
cmp dword [ebp - 0x18], 0
jne 0x437224
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
nop
mov edx, esi
dec esi
cmp edx, dword [ebp - 0x14]
je 0x43a3da
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a324
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43a318
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.004371d4
add esp, 0x28
test eax, eax
je 0x43a304
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edx
jge 0x43a391
cmp esi, dword [edi + 0x6c]
jae 0x43a375
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
je 0x43a391
inc eax
inc esi
cmp eax, dword [ebp - 0xc]
jl 0x43a358
jmp 0x43a391
cmp dword [edi + 0x7c], 0
je 0x43a391
cmp esi, dword [edi + 0x78]
jbe 0x43a391
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
cmp dword [ebp - 0x18], 0
jne 0x437224
cmp esi, dword [ebp - 0x14]
jb 0x43a3da
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43a3a7
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 0x43a52f
cmp eax, edx
jl 0x43a55e
cmp esi, dword [edi + 0x6c]
jae 0x43e1d0
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43a50f
test cl, 0x20
jne 0x43a439
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
inc esi
jmp 0x43a50f
test cl, 0x10
jne 0x43a460
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 0x43a50f
test cl, 8
jne 0x43a493
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 0x43a50f
test cl, 4
jne 0x43a4cf
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 0x43a50f
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.0x437242.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a406
jmp 0x43a55b
cmp eax, edx
jl 0x43a55e
cmp esi, dword [edi + 0x6c]
jae 0x43e1d0
movzx ecx, byte [esi]
add esi, edx
cmp dword [ebp - 4], ecx
je case.0x437242.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43a533
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
je 0x437224
cmp dword [ebp - 0x14], 0
jne 0x43e1ee
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43a740
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jge 0x43a6b1
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43a69a
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43a682
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43a5c1
and eax, 0x1f
shl eax, 6
or eax, edx
mov edx, 2
jmp 0x43a682
test al, 0x10
jne 0x43a5e3
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 0x43a682
test al, 8
jne 0x43a60e
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 0x43a682
test al, 4
jne 0x43a645
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 0x43a682
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 0x43a6b1
mov eax, dword [ebp + 0x1c]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jl 0x43a588
jmp 0x43a6b1
cmp dword [edi + 0x7c], 0
je 0x43a6b1
cmp esi, dword [edi + 0x78]
jbe 0x43a6b1
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jg 0x43d3b1
cmp dword [ebp - 0x18], 0
jne 0x437224
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43a7c7
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43a710
mov edi, edi
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43a704
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.004371d4
add esp, 0x28
test eax, eax
je 0x43a6ec
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
cmp eax, ecx
jge 0x43a777
cmp esi, dword [edi + 0x6c]
jae 0x43a75b
movzx eax, byte [esi]
cmp dword [ebp - 4], eax
je 0x43a777
inc edx
inc esi
cmp edx, ecx
jl 0x43a746
jmp 0x43a777
cmp dword [edi + 0x7c], 0
je 0x43a777
cmp esi, dword [edi + 0x78]
jbe 0x43a777
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3b1
cmp dword [ebp - 0x18], 0
jne 0x437224
cmp esi, dword [ebp - 0x14]
jb 0x43a7c7
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43a794
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 0x43a89c
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 0x43a89f
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 8], ecx
inc ebx
jmp 0x43a897
mov ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], ecx
add ebx, ecx
jmp 0x43a897
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], ecx
add ebx, edx
jmp 0x43a89c
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 0x43a89c
lea eax, [ecx - 0x39]
movsx edx, byte [eax + 0x486e80]
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x486e78]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edx
test edx, edx
jne 0x43a89f
mov edx, accept
mov dword [ebp - 0xc], edx
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x43b6ef
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
je 0x43b35b
cmp eax, 0xf
ja case.0x43e91e.15
jmp dword [eax*4 + 0x43ec58]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43db10
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43a911
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.0042e920
add esp, 0x14
test eax, eax
jne case.0x43e938.14
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43a938
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43a938
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43a938
cmp dword [edi + 0x1c], 1
je case.0x43e938.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x43e938.14
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43a952
lea ebx, [ebx]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a952
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43a944
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43a8db
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
jmp 0x43a974
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43db10
inc esi
cmp esi, eax
jae 0x43a992
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43a992
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43a984
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43a974
jmp 0x43b6ef
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja case.0x43e938.14
add esi, ecx
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43aab8
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43a9f9
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43aab2
test al, 0x10
jne 0x43aa19
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 0x43aab2
test al, 8
jne 0x43aa42
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 0x43aab2
test al, 4
jne 0x43aa77
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 0x43aab2
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 0x43aae4
je 0x43aad7
cmp dword [ebp - 4], 0xa
je 0x43ab08
mov eax, dword [ebp - 4]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x43e938.14
jmp 0x43aafe
cmp esi, dword [edi + 0x6c]
jae 0x43ab08
cmp byte [esi], 0xa
jne 0x43ab08
inc esi
jmp 0x43ab08
cmp dword [ebp - 4], 0x85
je 0x43aafe
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x43e938.14
cmp dword [edi + 0x60], 0
jne 0x43d0aa
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43a9c6
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43ac1b
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ab5c
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43ac15
test al, 0x10
jne 0x43ab7c
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 0x43ac15
test al, 8
jne 0x43aba5
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 0x43ac15
test al, 4
jne 0x43abda
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 0x43ac15
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 0x43ac5e
je 0x43d0aa
cmp dword [ebp - 4], 0xa0
ja 0x43ac4f
je 0x43d0aa
cmp dword [ebp - 4], 9
je 0x43d0aa
cmp dword [ebp - 4], 0x20
je 0x43d0aa
jmp 0x43ac9f
cmp dword [ebp - 4], 0x1680
je 0x43d0aa
jmp 0x43ac9f
cmp dword [ebp - 4], 0x205f
ja 0x43ac92
je 0x43d0aa
cmp dword [ebp - 4], 0x2000
jb 0x43ac9f
cmp dword [ebp - 4], 0x200a
jbe 0x43d0aa
cmp dword [ebp - 4], 0x202f
je 0x43d0aa
jmp 0x43ac9f
cmp dword [ebp - 4], 0x3000
je 0x43d0aa
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ab29
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43adb2
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43acf3
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43adac
test al, 0x10
jne 0x43ad13
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 0x43adac
test al, 8
jne 0x43ad3c
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 0x43adac
test al, 4
jne 0x43ad71
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 0x43adac
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 0x43ade9
je 0x43ae26
cmp dword [ebp - 4], 0xa0
ja 0x43adda
je 0x43ae26
cmp dword [ebp - 4], 9
je 0x43ae26
cmp dword [ebp - 4], 0x20
jne 0x43d0aa
jmp 0x43ae26
cmp dword [ebp - 4], 0x1680
jne 0x43d0aa
jmp 0x43ae26
cmp dword [ebp - 4], 0x205f
ja 0x43ae19
je 0x43ae26
cmp dword [ebp - 4], 0x2000
jb 0x43d0aa
cmp dword [ebp - 4], 0x200a
jbe 0x43ae26
cmp dword [ebp - 4], 0x202f
jne 0x43d0aa
jmp 0x43ae26
cmp dword [ebp - 4], 0x3000
jne 0x43d0aa
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43acc0
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43af39
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ae7a
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43af33
test al, 0x10
jne 0x43ae9a
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 0x43af33
test al, 8
jne 0x43aec3
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 0x43af33
test al, 4
jne 0x43aef8
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 0x43af33
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 0x43af5a
je 0x43d0aa
cmp dword [ebp - 4], 0xa
jb 0x43af70
cmp dword [ebp - 4], 0xd
jbe 0x43d0aa
jmp 0x43af70
cmp dword [ebp - 4], 0x2028
jb 0x43af70
cmp dword [ebp - 4], 0x2029
jbe 0x43d0aa
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ae47
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b083
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43afc4
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b07d
test al, 0x10
jne 0x43afe4
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 0x43b07d
test al, 8
jne 0x43b00d
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 0x43b07d
test al, 4
jne 0x43b042
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 0x43b07d
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 0x43b09f
je 0x43b0b0
mov eax, dword [ebp - 4]
add eax, 0xfffffff6
cmp eax, 3
ja 0x43d0aa
jmp 0x43b0b0
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43d0aa
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43af91
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43b1c3
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43b104
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43b1bd
test al, 0x10
jne 0x43b124
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 0x43b1bd
test al, 8
jne 0x43b14d
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 0x43b1bd
test al, 4
jne 0x43b182
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 0x43b1bd
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 0x43b1df
mov eax, dword [edi + 0x34]
mov edx, dword [ebp - 4]
test byte [edx + eax], 4
jne 0x43d0aa
mov edx, dword [ebp - 0xc]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b0d1
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
mov al, byte [esi]
cmp al, 0x80
jae 0x43d0aa
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
inc esi
and al, 4
je 0x43d0aa
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b200
jmp 0x43b6ec
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
mov al, byte [esi]
cmp al, 0x80
jae 0x43b267
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne 0x43d0aa
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43b275
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43b267
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b245
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
mov al, byte [esi]
cmp al, 0x80
jae 0x43d0aa
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
je 0x43d0aa
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b292
jmp 0x43b6ec
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
mov al, byte [esi]
cmp al, 0x80
jae 0x43b2fa
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 0x10
jne 0x43d0aa
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43b308
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43b2fa
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43b2d8
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43d561
mov al, byte [esi]
cmp al, 0x80
jae 0x43d0aa
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
je 0x43d0aa
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b325
jmp 0x43b6ec
cmp eax, 0xf
ja case.0x43e91e.15
jmp dword [eax*4 + 0x43ec98]
cmp ecx, 1
jl 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp esi, dword [edi + 0x6c]
jae 0x43d561
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b3af
mov edx, dword [edi + 0x6c]
push 0
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.0042e920
add esp, 0x14
test eax, eax
jne 0x43d0aa
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43b3d6
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b3d6
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43b3d6
cmp dword [edi + 0x1c], 1
je 0x43d0aa
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43d0aa
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b37b
jmp 0x43b6ef
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43d561
add esi, ecx
jmp 0x43b6ef
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x43db10
add esi, ecx
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
jmp 0x43b424
cmp esi, dword [edi + 0x6c]
jae 0x43d59a
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x43e938.14
movzx eax, byte [eax + 0x43ece8]
jmp dword [eax*4 + 0x43ecd8]
cmp esi, dword [edi + 0x6c]
jae case.0x43b444.10
cmp byte [esi], 0xa
jne case.0x43b444.10
inc esi
jmp case.0x43b444.10
cmp dword [edi + 0x60], 0
jne case.0x437242.115
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b424
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x43e938.14
cmp eax, 0x20
je case.0x43e938.14
cmp eax, 0xa0
je case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b484
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43b4f6
cmp eax, 0x20
je 0x43b4f6
cmp eax, 0xa0
jne case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b4d4
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43b53c
cmp eax, 0xd
jle case.0x43e938.14
cmp eax, 0x85
je case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b516
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
jmp 0x43b564
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x43e938.14
cmp eax, 0xd
jle 0x43b58a
cmp eax, 0x85
jne case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b564
jmp 0x43b6ef
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 4
jne case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b5aa
jmp 0x43b6ec
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 4
je case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b5e6
jmp 0x43b6ec
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
jne case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b621
jmp 0x43b6ec
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 1
je case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b65d
jmp 0x43b6ec
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
jne case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b691
jmp 0x43b6ec
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43b6ef
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 0x10
je case.0x43e938.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43b6c6
mov edx, dword [ebp - 0xc]
cmp ecx, edx
je 0x437224
cmp dword [ebp - 0x14], 0
jne 0x43e405
mov eax, dword [ebp - 0x10]
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43c5fe
cmp eax, 0xf
ja case.0x43e91e.15
jmp dword [eax*4 + 0x43ed64]
mov dword [ebp + 0x1c], ecx
cmp edx, 0x7fffffff
jge 0x43b7c7
cmp ecx, edx
jge 0x43c56d
cmp esi, dword [edi + 0x6c]
jae 0x43b8f9
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b76e
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.0042e920
add esp, 0x14
test eax, eax
jne 0x43c56d
mov edx, dword [ebp - 0xc]
jmp 0x43b795
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b795
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43b795
cmp dword [edi + 0x1c], 1
je 0x43c56d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c56d
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43b7b3
lea esp, [esp]
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b7b3
inc esi
cmp esi, eax
jb 0x43b7a4
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b73b
jmp 0x43c56d
cmp ecx, edx
jge 0x43c56d
jmp 0x43b7d4
cmp esi, dword [edi + 0x6c]
jae 0x43b853
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43b803
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.0042e920
add esp, 0x14
test eax, eax
jne 0x43c56d
mov edx, dword [ebp - 0xc]
jmp 0x43b82a
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43b82a
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43b82a
cmp dword [edi + 0x1c], 1
je 0x43c56d
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c56d
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43b843
mov edi, edi
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b843
inc esi
cmp esi, eax
jb 0x43b834
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b7d4
jmp 0x43c56d
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
jmp 0x43c56d
cmp edx, 0x7fffffff
jge 0x43b8e3
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43b8ba
inc esi
cmp esi, eax
jae 0x43b8aa
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43b8aa
inc esi
cmp esi, eax
jb 0x43b89b
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jl 0x43b892
jmp 0x43c56d
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3b1
jmp 0x43c56d
mov esi, dword [edi + 0x6c]
jmp 0x43c56d
mov eax, dword [edi + 0x6c]
sub edx, ecx
sub eax, esi
cmp edx, eax
jbe 0x43b922
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d585
jmp 0x43c56d
add esi, edx
jmp 0x43c56d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
mov ecx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43ba8d
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43ba2e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43b96d
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x43ba2e
test al, 0x10
jne 0x43b98f
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 0x43ba2e
test al, 8
jne 0x43b9ba
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 0x43ba2e
test al, 4
jne 0x43b9f1
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 0x43ba2e
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 0x43ba45
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43c56d
cmp byte [esi], 0xa
jne 0x43ba79
inc esi
jmp 0x43ba79
cmp eax, 0xa
je 0x43ba77
cmp dword [edi + 0x60], 0
jne 0x43c56d
cmp eax, 0xb
je 0x43ba77
cmp eax, 0xc
je 0x43ba77
cmp eax, 0x85
je 0x43ba77
cmp eax, 0x2028
je 0x43ba77
cmp eax, 0x2029
jne 0x43c56d
add esi, ecx
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43b934
jmp 0x43c56d
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d3e5
jmp 0x43c56d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
mov ecx, 1
lea ecx, [ecx]
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bc33
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bbac
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bafb
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43bbaa
test al, 0x10
jne 0x43bb17
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43bba4
test al, 8
jne 0x43bb3c
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 0x43bba4
test al, 4
jne 0x43bb6d
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 0x43bba4
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 0x43bc06
je 0x43bbc8
cmp eax, 0xa0
ja 0x43bbfb
je 0x43bbc8
cmp eax, 9
je 0x43bbc8
cmp eax, 0x20
jne 0x43bc2f
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x10], 0x12
sete al
cmp ecx, eax
je 0x43c56d
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 0x43bac4
jmp 0x43c56d
cmp eax, 0x1680
je 0x43bbc8
xor ecx, ecx
jmp 0x43bbcd
cmp eax, 0x205f
ja 0x43bc28
je 0x43bbc8
cmp eax, 0x2000
jb 0x43bc2f
cmp eax, 0x200a
jbe 0x43bbc8
cmp eax, 0x202f
je 0x43bbc8
xor ecx, ecx
jmp 0x43bbcd
cmp eax, 0x3000
je 0x43bbc8
xor ecx, ecx
jmp 0x43bbcd
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d3b1
jmp 0x43c56d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
mov ecx, 1
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bda3
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bd4f
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bc9e
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43bd4d
test al, 0x10
jne 0x43bcba
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43bd47
test al, 8
jne 0x43bcdf
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 0x43bd47
test al, 4
jne 0x43bd10
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 0x43bd47
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 0x43bd92
je 0x43bd9c
cmp eax, 0xa
jb 0x43bd62
cmp eax, 0xd
jbe 0x43bd9c
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x10], 0x14
sete al
cmp ecx, eax
je 0x43c56d
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 0x43bc67
jmp 0x43c56d
add eax, 0xffffdfd8
cmp eax, 1
ja 0x43bd62
mov ecx, 1
jmp 0x43bd64
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d585
jmp 0x43c56d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
mov edi, edi
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43beec
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43bec1
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43be10
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43bebf
test al, 0x10
jne 0x43be2c
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43beb9
test al, 8
jne 0x43be51
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 0x43beb9
test al, 4
jne 0x43be82
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 0x43beb9
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 0x43bed5
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43c56d
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43bdd4
jmp 0x43c56d
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
jmp 0x43c56d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43bc33
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c00c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43bf5b
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c00a
test al, 0x10
jne 0x43bf77
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c004
test al, 8
jne 0x43bf9c
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 0x43c004
test al, 4
jne 0x43bfcd
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 0x43c004
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 0x43c56d
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43c56d
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 0x43bf24
jmp 0x43c56d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
jmp 0x43c054
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c16c
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c141
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c090
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c13f
test al, 0x10
jne 0x43c0ac
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c139
test al, 8
jne 0x43c0d1
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 0x43c139
test al, 4
jne 0x43c102
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 0x43c139
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 0x43c155
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43c56d
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c054
jmp 0x43c56d
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d585
jmp 0x43c56d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c2c1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c28c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c1db
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c28a
test al, 0x10
jne 0x43c1f7
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c284
test al, 8
jne 0x43c21c
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 0x43c284
test al, 4
jne 0x43c24d
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 0x43c284
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 0x43c56d
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43c56d
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 0x43c1a4
jmp 0x43c56d
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d3e5
jmp 0x43c56d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
lea esp, [esp]
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x43c40c
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c3e1
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c330
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c3df
test al, 0x10
jne 0x43c34c
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c3d9
test al, 8
jne 0x43c371
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 0x43c3d9
test al, 4
jne 0x43c3a2
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 0x43c3d9
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 0x43c3f5
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43c56d
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c2f4
jmp 0x43c56d
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3b1
jmp 0x43c56d
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c56d
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43c556
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c52c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43c47b
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x43c52a
test al, 0x10
jne 0x43c497
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x43c524
test al, 8
jne 0x43c4bc
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 0x43c524
test al, 4
jne 0x43c4ed
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 0x43c524
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 0x43c56d
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43c56d
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 0x43c444
jmp 0x43c56d
cmp dword [edi + 0x7c], 0
je 0x43c56d
cmp esi, dword [edi + 0x78]
jbe 0x43c56d
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d585
cmp dword [ebp - 0x18], 0
jne 0x437224
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43ca08
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43c5ce
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43c5c4
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.004371d4
add esp, 0x28
test eax, eax
je 0x43c5a8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xf
ja case.0x43e91e.15
jmp dword [eax*4 + 0x43eda4]
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c9bf
cmp esi, dword [edi + 0x6c]
jae 0x43c67e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43c646
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e920
add esp, 0x14
test eax, eax
jne 0x43c9bf
mov edx, dword [ebp - 0xc]
jmp 0x43c66d
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43c66d
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43c66d
cmp dword [edi + 0x1c], 1
je 0x43c9bf
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x43c9bf
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c619
jmp 0x43c9bf
cmp dword [edi + 0x7c], 0
je 0x43c9bf
cmp esi, dword [edi + 0x78]
jbe 0x43c9bf
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d585
jmp 0x43c9bf
sub edx, ecx
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp edx, ecx
jbe 0x43c6de
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x43c9bf
cmp esi, dword [edi + 0x78]
jbe 0x43c9bf
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
jmp 0x43c9bf
add esi, edx
jmp 0x43c9bf
cmp ecx, edx
jge 0x43c9bf
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43c741
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43c712
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43c9bf
cmp byte [esi], 0xa
jne 0x43c737
jmp 0x43c736
cmp eax, 0xa
je 0x43c736
cmp dword [edi + 0x60], 0
jne 0x43c9bf
cmp eax, 0xb
je 0x43c736
cmp eax, 0xc
je 0x43c736
cmp eax, 0x85
jne 0x43c9bf
inc esi
inc ecx
cmp ecx, edx
jl 0x43c6f4
jmp 0x43c9bf
cmp dword [edi + 0x7c], 0
je 0x43c9bf
cmp esi, dword [edi + 0x78]
jbe 0x43c9bf
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3b1
jmp 0x43c9bf
cmp ecx, edx
jge 0x43c9bf
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43c67e
movzx eax, byte [esi]
cmp eax, 9
je 0x43c9bf
cmp eax, 0x20
je 0x43c9bf
cmp eax, 0xa0
je 0x43c9bf
inc ecx
inc esi
cmp ecx, edx
jl 0x43c774
jmp 0x43c9bf
cmp ecx, edx
jge 0x43c9bf
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x43c6b5
movzx eax, byte [esi]
cmp eax, 9
je 0x43c7d5
cmp eax, 0x20
je 0x43c7d5
cmp eax, 0xa0
jne 0x43c9bf
inc ecx
inc esi
cmp ecx, edx
jl 0x43c7b4
jmp 0x43c9bf
cmp ecx, edx
jge 0x43c9bf
cmp esi, dword [edi + 0x6c]
jae 0x43c741
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43c9bf
cmp eax, 0xb
je 0x43c9bf
cmp eax, 0xc
je 0x43c9bf
cmp eax, 0xd
je 0x43c9bf
cmp eax, 0x85
je 0x43c9bf
inc ecx
inc esi
cmp ecx, edx
jl 0x43c7e8
jmp 0x43c9bf
cmp ecx, edx
jge 0x43c9bf
cmp esi, dword [edi + 0x6c]
jae 0x43c67e
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43c861
cmp eax, 0xb
je 0x43c861
cmp eax, 0xc
je 0x43c861
cmp eax, 0xd
je 0x43c861
cmp eax, 0x85
jne 0x43c9bf
inc ecx
inc esi
cmp ecx, edx
jl 0x43c836
jmp 0x43c9bf
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c9bf
cmp esi, dword [edi + 0x6c]
jae 0x43c6b5
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x43c9bf
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c877
jmp 0x43c9bf
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c9bf
jmp 0x43c8b4
cmp esi, dword [edi + 0x6c]
jae 0x43c741
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x43c9bf
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c8b4
jmp 0x43c9bf
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c9bf
cmp esi, dword [edi + 0x6c]
jae 0x43c67e
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43c9bf
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c8e9
jmp 0x43c9bf
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c9bf
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43c6b5
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x43c9bf
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c924
jmp 0x43c9bf
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c9bf
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x43c741
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x43c9bf
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c954
jmp 0x43c9bf
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x43c9bf
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x43c9a3
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x43c9bf
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43c984
jmp 0x43c9bf
cmp dword [edi + 0x7c], 0
je 0x43c9bf
cmp esi, dword [edi + 0x78]
jbe 0x43c9bf
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d585
cmp dword [ebp - 0x18], 0
jne 0x437224
cmp esi, dword [ebp - 0x14]
jb 0x43ca08
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.004371d4
add esp, 0x28
dec esi
test eax, eax
jne 0x43ea78
cmp esi, dword [ebp - 0x14]
jae 0x43c9d5
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 0x43ca48
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 0x43ca34
add ebx, 3
cmp dword [ebp - 4], 0x63
jne 0x43cc63
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.004371d4
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 0x43cfcd
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 0x43cb33
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 + 0x4861b0]
push ecx
add eax, ebx
push eax
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
je 0x43cb10
cmp eax, 0xfffffc1e
jne 0x43ea78
cmp dword [edi + 0x70], ebx
jne 0x43ea78
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 0x43cac4
cmp dword [ebp + 0x28], 0
jne 0x43d0bc
movzx edx, byte [ebx]
movzx eax, byte [edx + 0x4861b0]
add ebx, eax
jmp 0x43cc6a
cmp byte [ebx + 3], 0x19
lea eax, [ebx + 3]
mov dword [ebp - 0x24], eax
jne 0x43cb69
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 0x43cba7
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
mov ebx, dword [ebp + 0x1c]
jmp 0x43cc63
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
mov ebx, dword [ebp - 0x24]
jmp 0x43cc63
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 0x43cc32
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
cmp dword [ebp + 0x28], eax
jne 0x43d339
mov ebx, dword [ebp + 0x1c]
jmp 0x43cc6a
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
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 0x4371fa
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 + 0x4861b0]
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.004371d4
mov ebx, eax
add esp, 0x28
cmp ebx, 0xfffffc1d
jne 0x43ccfd
mov ecx, dword [edi + 0x70]
mov edx, dword [ebp + 0x14]
push ecx
push edx
call fcn.00414c50
add esp, 8
test eax, eax
jne 0x43ccfd
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 0x43cd0f
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 + 0x4861b0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
je 0x43cd70
cmp eax, 0xfffffc1b
je 0x43cd70
cmp eax, 0xfffffc1c
je 0x43cd70
cmp eax, 0xfffffc1d
je 0x43cd70
cmp eax, 0xfffffc1e
jne 0x43ea78
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 + 0x4861b0]
push eax
add edx, ebx
push edx
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
je 0x43cdc8
cmp eax, 0xfffffc1e
jne 0x43ea78
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 + 0x4861b0]
push ecx
movzx ecx, byte [ebx + 1]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
je 0x43ce26
cmp eax, 0xfffffc1e
jne 0x43ea78
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 + 0x4861b0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
je 0x43ce85
cmp eax, 0xfffffc1b
je 0x43ce85
cmp eax, 0xfffffc1e
jne 0x43ea78
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 + 0x4861b0]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
je 0x43ceed
cmp eax, 0xfffffc1b
je 0x43ceed
cmp eax, 0xfffffc1e
jne 0x43ea78
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 + 0x4861b0]
push ecx
add eax, ebx
push eax
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
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 + 0x4861b0]
push ecx
movzx ecx, byte [ebx + 3]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
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 + 0x4861b0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
je 0x43d05f
cmp eax, 0xfffffc1e
jne 0x43ea78
cmp dword [edi + 0x70], ebx
jne 0x43ea78
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 0x43d014
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 0x43d0b3
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 + 0x4861b0]
push ecx
add eax, ebx
push eax
push esi
call fcn.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
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 0x43d128
cmp dword [edi + 0x54], 0
jne 0x43d0aa
cmp dword [edi + 0x58], 0
je 0x43d128
mov edx, dword [edi + 0x88]
add edx, dword [edi + 0x68]
cmp eax, edx
je 0x43d0aa
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 0x43d175
mov dword [ebp - 0x38], 0
jmp 0x43d185
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 0x43d1b3
lea eax, [ebp - 0x120]
mov dword [ebp - 0x30], eax
jmp 0x43d1da
lea eax, [ecx*4]
push eax
call dword [0x491490]
add esp, 4
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x43d1d7
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.00410d80
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 + 0x4861b0]
add eax, dword [ebp + 0x1c]
push ecx
push eax
push esi
call fcn.004371d4
add esp, 0x28
mov dword [ebp - 0x24], eax
cmp eax, 1
je 0x43d304
cmp eax, 0xfffffc19
je 0x43d304
test eax, eax
je 0x43d26a
cmp eax, 0xfffffc1e
jne 0x43d2df
cmp dword [edi + 0x70], ebx
jne 0x43d2df
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.00410d80
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 0x43d20b
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x120]
cmp eax, ecx
je case.0x43e938.14
push eax
call dword [0x491494]
add esp, 4
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x120]
cmp ecx, edx
je 0x43ea78
push ecx
call dword [0x491494]
mov eax, dword [ebp - 0x24]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x120]
cmp eax, ecx
je 0x43d324
push eax
call dword [0x491494]
add esp, 4
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.004371d4
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.0x437242.115
cmp esi, dword [edi + 0x78]
jbe case.0x437242.115
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jle case.0x437242.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 0x43d0aa
cmp esi, dword [edi + 0x78]
jbe 0x43d0aa
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x43d0aa
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.0x43e938.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e938.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43e938.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 0x43d0aa
cmp esi, dword [edi + 0x78]
jbe 0x43d0aa
mov eax, 1
jmp 0x43d3d9
cmp dword [edi + 0x7c], 0
je case.0x437242.115
cmp esi, dword [edi + 0x6c]
jb case.0x437242.115
cmp esi, dword [edi + 0x78]
jbe case.0x437242.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x437242.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 0x43d4e8
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.0042eb39
add esp, 0x14
test eax, eax
je 0x43d4c2
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43d497
jmp 0x43d4e3
cmp dword [edi + 0x7c], 0
je 0x43d4e3
cmp esi, dword [edi + 0x6c]
jb 0x43d4e3
cmp esi, dword [edi + 0x78]
jbe 0x43d4e3
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d3e5
cmp esi, dword [ebp - 0x14]
jb case.0x437242.115
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
jmp 0x43d4f4
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x43d4f4
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 0x43d0aa
cmp esi, dword [edi + 0x6c]
jb 0x43d0aa
cmp esi, dword [edi + 0x78]
jbe 0x43d0aa
mov eax, 1
jmp 0x43d3d9
cmp dword [edi + 0x7c], 0
je case.0x43e938.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e938.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43e938.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 0x43d0aa
cmp esi, dword [edi + 0x78]
jbe 0x43d0aa
mov eax, 1
jmp 0x43d3d9
test al, 0x10
jne 0x43d5dd
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 0x43d67b
test al, 8
jne 0x43d60c
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 0x43d67b
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43d647
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 0x43d67b
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 0x43d68e
cmp dword [ebp - 4], 0x4e
je case.0x437242.115
jmp 0x43d6ab
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.0x43e938.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.004371d4
add esp, 0x28
test eax, eax
je 0x439344
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
jmp 0x43d714
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x437242.115
cmp esi, dword [edi + 0x6c]
jae 0x43d59a
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.0x437242.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.004371d4
add esp, 0x28
test eax, eax
je 0x43d714
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43d95e
cmp edx, dword [ebp - 0xc]
jge 0x43d8d6
mov eax, 1
mov dword [ebp - 0x20], eax
cmp esi, dword [edi + 0x6c]
jae 0x43d8bf
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43d880
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43d7cf
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x20], 2
jmp 0x43d87e
test al, 0x10
jne 0x43d7eb
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x20], 3
jmp 0x43d878
test al, 8
jne 0x43d810
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 0x43d878
test al, 4
jne 0x43d841
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 0x43d878
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 0x43d88e
cmp ecx, 0x4e
je 0x43d8d6
jmp 0x43d8aa
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 0x43d8d6
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 0x43d793
jmp 0x43d8d6
cmp dword [edi + 0x7c], 0
je 0x43d8d6
cmp esi, dword [edi + 0x78]
jbe 0x43d8d6
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d585
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x43d9ee
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43d92e
lea esp, [esp]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43d924
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.004371d4
add esp, 0x28
test eax, eax
je 0x43d907
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, dword [ebp - 0xc]
jge 0x43d9b4
cmp esi, dword [edi + 0x6c]
jae 0x43d993
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 0x43d9af
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43d963
jmp 0x43d9af
cmp dword [edi + 0x7c], 0
je 0x43d9af
cmp esi, dword [edi + 0x78]
jbe 0x43d9af
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x43d585
cmp esi, dword [ebp - 0x14]
jb 0x43d9ee
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43d9bb
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 0x43da26
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 0x43dac4
test al, 8
jne 0x43da55
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 0x43dac4
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43da90
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 0x43dac4
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.0042e268
add esp, 8
test eax, eax
je case.0x43e938.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.004371d4
add esp, 0x28
test eax, eax
je 0x4395a8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x437242.115
cmp esi, dword [edi + 0x78]
jbe case.0x437242.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x437242.115
jmp 0x43d3b1
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x43dcaf
mov ecx, 1
mov dword [ebp - 0x20], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43dc98
cmp dword [ebp - 0x1c], 0
movzx eax, byte [esi]
je 0x43dc6c
cmp eax, 0xc0
jb 0x43dc6c
test al, 0x20
jne 0x43db87
movzx ecx, byte [esi + 1]
and eax, 0x1f
mov dword [ebp - 0x20], 2
jmp 0x43dc64
test al, 0x10
jne 0x43dbb2
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 0x43dc6c
test al, 8
jne 0x43dbe7
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 0x43dc6a
test al, 4
jne 0x43dc27
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 0x43dc6c
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.0042e268
add esp, 8
test eax, eax
je 0x43dcaf
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 0x43db4c
jmp 0x43dcaf
cmp dword [edi + 0x7c], 0
je 0x43dcaf
cmp esi, dword [edi + 0x78]
jbe 0x43dcaf
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x43d3b1
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
lea esp, [esp]
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43d0aa
cmp dword [ebp - 0x1c], 0
je 0x43dd10
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43dd10
lea esp, [esp]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43dd04
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.004371d4
add esp, 0x28
test eax, eax
je 0x43dce4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x43e938.14
cmp esi, dword [edi + 0x6c]
jb case.0x43e938.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e938.14
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x43e938.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.0x43e938.14
cmp esi, dword [edi + 0x78]
jbe case.0x43e938.14
jmp 0x43d579
cmp dword [edi + 0x7c], 0
je case.0x43e938.14
cmp esi, dword [edi + 0x6c]
jb case.0x43e938.14
jmp 0x43d56b
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43e938.14
mov edx, dword [edi + 0x6c]
sub edx, dword [ebp - 0x10]
cmp esi, edx
ja 0x43de44
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
push eax
push ecx
push esi
call fcn.00411903
add esp, 0xc
test eax, eax
jne 0x43de44
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.004371d4
add esp, 0x28
test eax, eax
je 0x43dde4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x437242.115
cmp esi, dword [edi + 0x6c]
jb case.0x437242.115
cmp esi, dword [edi + 0x78]
jbe case.0x437242.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x437242.115
jmp 0x43d3b1
cmp dword [edi + 0x7c], 0
je case.0x437242.115
cmp esi, dword [edi + 0x78]
jbe case.0x437242.115
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x437242.115
jmp 0x43d3b1
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
lea ecx, [ecx]
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x437242.115
cmp esi, dword [edi + 0x6c]
jae 0x43d59a
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
jne case.0x437242.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.004371d4
add esp, 0x28
test eax, eax
je 0x43ded4
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
lea ecx, [ecx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x437242.115
cmp esi, dword [edi + 0x6c]
jae 0x43d59a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 4], eax
jne case.0x437242.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.004371d4
add esp, 0x28
test eax, eax
je 0x43df64
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 0x43e145
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge 0x43d0aa
cmp esi, dword [edi + 0x6c]
jae 0x43d561
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e0f7
test al, 0x20
jne 0x43e033
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43e0f7
test al, 0x10
jne 0x43e059
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 0x43e0f7
test al, 8
jne 0x43e088
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 0x43e0f7
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43e0c3
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 0x43e0f7
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 0x43e105
mov edx, dword [edi + 0x30]
movzx eax, byte [eax + edx]
cmp dword [ebp - 4], eax
je 0x43d0aa
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.004371d4
add esp, 0x28
test eax, eax
je 0x43dff7
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
jmp 0x43e174
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x437242.115
cmp esi, dword [edi + 0x6c]
jae 0x43d59a
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
je case.0x437242.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.004371d4
add esp, 0x28
test eax, eax
je 0x43e174
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x43d0aa
cmp esi, dword [edi + 0x78]
jbe 0x43d0aa
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jmp 0x43d3df
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 0x43e374
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
jmp 0x43e234
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43d0aa
cmp esi, dword [edi + 0x6c]
jae 0x43d561
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e334
test al, 0x20
jne 0x43e270
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e334
test al, 0x10
jne 0x43e296
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 0x43e334
test al, 8
jne 0x43e2c5
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 0x43e334
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e300
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 0x43e334
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 0x43d0aa
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.004371d4
add esp, 0x28
test eax, eax
je 0x43e234
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
jmp 0x43e3a4
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x43e938.14
cmp esi, dword [edi + 0x6c]
jae 0x43db10
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 4], ecx
je case.0x43e938.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.004371d4
add esp, 0x28
test eax, eax
je 0x43e3a4
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 0x43e867
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge 0x43d0aa
cmp esi, dword [edi + 0x6c]
jae 0x43d561
cmp dword [ebp - 0x10], 0xc
jne 0x43e4af
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43e488
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.0042e920
add esp, 0x14
test eax, eax
jne 0x43d0aa
jmp 0x43e4af
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43e4af
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e4af
cmp dword [edi + 0x1c], 1
je 0x43d0aa
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d0aa
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e59a
test al, 0x20
jne 0x43e4d6
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43e59a
test al, 0x10
jne 0x43e4fc
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 0x43e59a
test al, 8
jne 0x43e52b
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 0x43e59a
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43e566
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 0x43e59a
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.0x43e91e.15
jmp dword [ecx*4 + 0x43ede4]
cmp eax, 0xd
ja 0x43e5e9
je 0x43e5d1
cmp eax, 0xa
je case.0x43e5a9.12
jbe case.0x437242.115
cmp eax, 0xc
ja case.0x437242.115
jmp 0x43e606
cmp esi, dword [edi + 0x6c]
jae case.0x43e5a9.12
cmp byte [esi], 0xa
jne case.0x43e5a9.12
inc esi
jmp case.0x43e5a9.12
cmp eax, 0x85
je 0x43e606
cmp eax, 0x2027
jbe case.0x437242.115
cmp eax, 0x2029
ja case.0x437242.115
cmp dword [edi + 0x60], 0
jne case.0x43e938.14
jmp case.0x43e5a9.12
cmp eax, 0x180e
ja 0x43e656
je 0x43d0aa
cmp eax, 0xa0
ja 0x43e646
je 0x43d0aa
cmp eax, 9
je 0x43d0aa
cmp eax, 0x20
je 0x43d0aa
jmp case.0x43e5a9.12
cmp eax, 0x1680
je 0x43d0aa
jmp case.0x43e5a9.12
cmp eax, 0x205f
ja 0x43e689
je 0x43d0aa
cmp eax, 0x2000
jb case.0x43e5a9.12
cmp eax, 0x200a
jbe 0x43d0aa
cmp eax, 0x202f
je 0x43d0aa
jmp case.0x43e5a9.12
cmp eax, 0x3000
je 0x43d0aa
jmp case.0x43e5a9.12
cmp eax, 0x180e
ja 0x43e6da
je case.0x43e5a9.12
cmp eax, 0xa0
ja 0x43e6ca
je case.0x43e5a9.12
cmp eax, 9
je case.0x43e5a9.12
cmp eax, 0x20
jne case.0x437242.115
jmp case.0x43e5a9.12
cmp eax, 0x1680
jne case.0x437242.115
jmp case.0x43e5a9.12
cmp eax, 0x205f
ja 0x43e70d
je case.0x43e5a9.12
cmp eax, 0x2000
jb case.0x437242.115
cmp eax, 0x200a
jbe case.0x43e5a9.12
cmp eax, 0x202f
jne case.0x437242.115
jmp case.0x43e5a9.12
cmp eax, 0x3000
jne case.0x437242.115
jmp case.0x43e5a9.12
cmp eax, 0x85
ja 0x43e741
je case.0x43e938.14
cmp eax, 0xa
jb case.0x43e5a9.12
cmp eax, 0xd
jbe case.0x43e938.14
jmp case.0x43e5a9.12
cmp eax, 0x2028
jb case.0x43e5a9.12
cmp eax, 0x2029
jbe case.0x43e938.14
jmp case.0x43e5a9.12
cmp eax, 0x85
ja 0x43e780
je case.0x43e5a9.12
cmp eax, 0xa
jb 0x43d0aa
cmp eax, 0xd
ja 0x43d0aa
jmp case.0x43e5a9.12
cmp eax, 0x2028
jb 0x43d0aa
cmp eax, 0x2029
ja 0x43d0aa
jmp case.0x43e5a9.12
cmp eax, 0x100
jae case.0x43e5a9.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x437242.115
jmp case.0x43e5a9.12
cmp eax, 0x100
jae case.0x43e938.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43e938.14
jmp case.0x43e5a9.12
cmp eax, 0x100
jae case.0x43e5a9.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d0aa
jmp case.0x43e5a9.12
cmp eax, 0x100
jae case.0x437242.115
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x437242.115
jmp case.0x43e5a9.12
cmp eax, 0x100
jae case.0x43e5a9.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43e938.14
jmp case.0x43e5a9.12
cmp eax, 0x100
jae 0x43d0aa
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43d0aa
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.004371d4
add esp, 0x28
test eax, eax
je 0x43e446
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.004371d4
add esp, 0x28
test eax, eax
jne 0x43ea78
lea ebx, [ebx]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x43d0aa
cmp esi, dword [edi + 0x6c]
jae 0x43d561
cmp dword [ebp - 0x10], 0xc
jne 0x43e90b
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43e8e4
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.0042e920
add esp, 0x14
test eax, eax
jne 0x43d0aa
jmp 0x43e90b
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x43e90b
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43e90b
cmp dword [edi + 0x1c], 1
je 0x43d0aa
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d0aa
mov ecx, dword [ebp - 0x10]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x43e91e.15
jmp dword [ecx*4 + 0x43ee24]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x43e938.14
movzx edx, byte [eax + 0x43ee74]
jmp dword [edx*4 + 0x43ee64]
cmp esi, dword [edi + 0x6c]
jae case.0x43e91e.12
cmp byte [esi], 0xa
jne case.0x43e91e.12
inc esi
jmp case.0x43e91e.12
cmp dword [edi + 0x60], 0
jne case.0x437242.115
jmp case.0x43e91e.12
cmp eax, 9
je 0x43d0aa
cmp eax, 0x20
je 0x43d0aa
cmp eax, 0xa0
je 0x43d0aa
jmp case.0x43e91e.12
cmp eax, 9
je case.0x43e91e.12
cmp eax, 0x20
je case.0x43e91e.12
cmp eax, 0xa0
jne case.0x437242.115
jmp case.0x43e91e.12
cmp eax, 0xa
jb case.0x43e91e.12
cmp eax, 0xd
jbe case.0x43e938.14
cmp eax, 0x85
je case.0x43e938.14
jmp case.0x43e91e.12
cmp eax, 0xa
jb 0x43d0aa
cmp eax, 0xd
jbe case.0x43e91e.12
cmp eax, 0x85
jne 0x43d0aa
jmp case.0x43e91e.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x437242.115
jmp case.0x43e91e.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43e938.14
jmp case.0x43e91e.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x43d0aa
jmp case.0x43e91e.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x437242.115
jmp case.0x43e91e.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43e938.14
jmp case.0x43e91e.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43d0aa
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.004371d4
add esp, 0x28
test eax, eax
je 0x43e8a4
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