Function at 0x44f109
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
push ebx
push esi
mov esi, dword [ebp + 0x18]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
push edi
cmp eax, dword [esi + 4]
jae 0x4528b0
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x28]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x4528b9
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x24], eax
je 0x44f155
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x48], ebx
mov dword [ebp + 0x20], eax
mov edi, dword [ebp + 0xc]
mov cl, byte [edi]
and dword [ebp - 0x1c], 0
and dword [ebp - 0x18], 0
movzx eax, cl
mov byte [ebp + 0x1b], cl
mov dword [ebp - 0x10], eax
cmp eax, 0x72
ja case.0x44f17b.15
movzx edx, byte [eax + 0x453bf5]
jmp dword [edx*4 + 0x453ad5]
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
cmp byte [edi + 3], 0x53
mov dword [ebp + 0x18], eax
jne 0x44f233
mov ecx, dword [0x490e00]
test ecx, ecx
je 0x44f22d
movzx eax, byte [edi + 4]
mov edx, dword [esi + 0x68]
mov dword [ebp - 0x78], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x74], eax
mov eax, dword [esi + 0x64]
sub edx, eax
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp + 0x10]
sub edx, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x68], edx
mov edx, ebx
sub edx, eax
movzx eax, byte [edi + 5]
shl eax, 8
mov dword [ebp - 0x64], edx
movzx edx, byte [edi + 6]
or eax, edx
movzx edx, byte [edi + 8]
mov dword [ebp - 0x54], eax
movzx eax, byte [edi + 7]
shl eax, 8
or eax, edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x60], eax
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x7c], 1
call ecx
pop ecx
test eax, eax
jg case.0x44f17b.111
js 0x453ace
add edi, 6
mov dword [ebp + 0xc], edi
lea eax, [edi + 3]
movzx edx, byte [eax]
cmp edx, 0x66
je 0x44f401
cmp edx, 0x67
je 0x44f401
cmp edx, 0x64
je 0x44f2ab
cmp edx, 0x65
je 0x44f2ab
cmp edx, 0x68
jne 0x44f271
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
mov dword [ebp + 0xc], edi
jmp 0x44f3ec
mov ecx, dword [ebp + 0x28]
inc ecx
push ecx
push 1
push 0
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
cmp eax, 1
je 0x45272d
test eax, eax
je 0x44f2a6
cmp eax, 0xfffffc1c
jne 0x453ace
add edi, dword [ebp + 0x18]
jmp 0x44f269
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 5]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x44f2cc
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x44f476
xor edi, edi
cmp edx, 0x65
jne 0x44f3d1
mov ecx, dword [esi + 0x28]
and dword [ebp + 0x18], edi
sar eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
cmp dword [esi + 0x20], edi
jle 0x44f30c
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [ebp - 0x1c]
je 0x44f30c
add ecx, dword [esi + 0x24]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x18], ecx
cmp eax, dword [esi + 0x20]
jl 0x44f2ea
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x20]
jge 0x44f3d1
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
cmp eax, dword [esi + 0x28]
jbe 0x44f36c
mov eax, dword [ebp - 0x1c]
sub eax, dword [esi + 0x24]
mov dword [ebp - 0x1c], eax
add eax, 2
push eax
mov eax, dword [ebp - 0x18]
add eax, 2
push eax
call fcn.00458dc0
pop ecx
pop ecx
test eax, eax
jne 0x44f36c
mov ecx, dword [ebp - 0x1c]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x44f365
mov edx, dword [esi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x44f476
xor edi, edi
cmp ecx, dword [esi + 0x28]
ja 0x44f323
mov eax, dword [ebp - 0x18]
inc dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x20]
jge 0x44f3d1
mov eax, dword [ebp - 0x18]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [esi + 0x24]
mov dword [ebp - 0x1c], eax
add eax, 2
push eax
push dword [ebp - 0x18]
call fcn.00458dc0
pop ecx
pop ecx
test eax, eax
jne 0x44f3d1
mov ecx, dword [ebp - 0x1c]
movzx eax, byte [ecx]
movzx ecx, byte [ecx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [ebp + 0x14]
jge 0x44f3c4
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x44f476
xor edi, edi
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x20]
jl 0x44f386
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
or eax, ecx
add dword [ebp + 0xc], eax
test edi, edi
jne 0x45275d
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x45275d
add dword [ebp + 0xc], 3
jmp 0x44f155
mov ecx, dword [esi + 0x90]
test ecx, ecx
je 0x44f25a
movzx eax, byte [edi + 4]
movzx edi, byte [edi + 5]
shl eax, 8
or eax, edi
mov dword [ebp - 0x1c], eax
cmp eax, 0xffff
je 0x44f476
cmp eax, dword [ecx + 4]
je 0x44f476
xor edi, edi
cmp edx, 0x67
jne 0x44f3d1
mov eax, dword [esi + 0x28]
and dword [ebp + 0x18], edi
mov dword [ebp - 0x18], eax
cmp dword [esi + 0x20], edi
jle 0x44f462
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
cmp ecx, dword [ebp - 0x1c]
je 0x44f462
add eax, dword [esi + 0x24]
inc dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x18], eax
cmp ecx, dword [esi + 0x20]
jl 0x44f440
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x20]
jge 0x44f3d1
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x44f4bf
xor edi, edi
inc edi
push 3
pop eax
jmp 0x44f3e1
mov eax, dword [ebp - 0x1c]
sub eax, dword [esi + 0x24]
mov dword [ebp - 0x1c], eax
add eax, 2
push eax
mov eax, dword [ebp - 0x18]
add eax, 2
push eax
call fcn.00458dc0
pop ecx
pop ecx
test eax, eax
jne 0x44f4c4
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
movzx edi, byte [eax + 1]
shl ecx, 8
or edi, ecx
mov ecx, dword [esi + 0x90]
sub edi, dword [ecx + 4]
neg edi
sbb edi, edi
inc edi
jne 0x44f479
cmp eax, dword [esi + 0x28]
ja 0x44f481
mov eax, dword [ebp - 0x18]
inc dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x20]
jge 0x44f3d1
mov eax, dword [ebp - 0x18]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [esi + 0x24]
mov dword [ebp - 0x1c], eax
add eax, 2
push eax
push dword [ebp - 0x18]
call fcn.00458dc0
pop ecx
pop ecx
test eax, eax
jne 0x44f3d1
mov eax, dword [ebp - 0x1c]
movzx edi, byte [eax + 1]
movzx eax, byte [eax]
shl eax, 8
or edi, eax
mov eax, dword [esi + 0x90]
sub edi, dword [eax + 4]
neg edi
sbb edi, edi
inc edi
jne 0x44f479
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x20]
jl 0x44f4e2
jmp 0x44f3d1
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
lea edx, [eax + eax]
mov dword [esi + 0x80], eax
cmp edx, dword [esi + 0x14]
jl 0x44f55b
mov dword [esi + 0x38], 1
jmp 0x44f3f8
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub edi, eax
mov eax, dword [ecx + edi*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0xc]
mov eax, ebx
sub eax, dword [esi + 0x64]
mov dword [ecx + edx*4 + 4], eax
cmp dword [ebp + 0x14], edx
jg 0x44f3f8
add edx, 2
mov dword [ebp + 0x14], edx
jmp 0x44f3f8
mov edi, dword [esi + 0x90]
xor ecx, ecx
cmp edi, ecx
je 0x452ab9
cmp dword [edi + 4], ecx
jne 0x452ab9
mov ecx, dword [edi]
mov dword [esi + 0x90], ecx
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.0045a680
mov eax, dword [edi + 0x18]
mov dword [ebp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0x1c], eax
mov eax, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0xc], eax
jmp 0x44f155
movzx eax, byte [edi + 1]
mov dword [ebp + 0x1c], eax
add edi, 2
jmp 0x44f6d0
mov eax, dword [ebp + 0x28]
mov edi, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
lea eax, [edi + 3]
push 0
push 0
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
cmp eax, 1
je 0x44f63b
test eax, eax
je 0x44f627
cmp eax, 0xfffffc1c
jne 0x453ace
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f5f5
cmp byte [edi], 0x55
je case.0x44f17b.111
test byte [ebp + 0x24], 1
jne 0x452aeb
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f64e
mov eax, dword [esi + 0x7c]
add edi, 3
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x14], eax
jmp 0x44f155
mov eax, dword [ebp + 0x28]
mov edi, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
lea eax, [edi + 3]
push 0
push 0
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
cmp eax, 1
je case.0x44f17b.111
test eax, eax
je 0x44f6af
cmp eax, 0xfffffc1c
jne 0x453ace
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f67d
test byte [ebp + 0x24], 1
jne 0x452aeb
add edi, 3
mov dword [ebp + 0xc], edi
jmp 0x44f155
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
cmp dword [ebp - 0x20], 0
je 0x44f70e
or eax, ecx
jle 0x44f717
mov edi, dword [esi + 0x64]
dec eax
dec ebx
cmp ebx, edi
jae 0x44f6fe
xor eax, eax
jmp 0x453ace
dec ebx
mov cl, byte [ebx]
and cl, 0xc0
cmp cl, 0x80
je 0x44f6fd
test eax, eax
jg 0x44f6f0
jmp 0x44f717
or eax, ecx
sub ebx, eax
cmp ebx, dword [esi + 0x64]
jb case.0x44f17b.111
cmp ebx, dword [esi + 0x74]
jae 0x44f3f8
mov dword [esi + 0x74], ebx
jmp 0x44f3f8
mov ecx, dword [0x490e00]
test ecx, ecx
je 0x44f7dd
movzx eax, byte [edi + 1]
mov edx, dword [esi + 0x68]
mov dword [ebp - 0xa8], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xa4], eax
mov eax, dword [esi + 0x64]
sub edx, eax
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp + 0x10]
sub edx, eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x98], edx
mov edx, ebx
sub edx, eax
movzx eax, byte [edi + 2]
shl eax, 8
mov dword [ebp - 0x94], edx
movzx edx, byte [edi + 3]
or eax, edx
movzx edx, byte [edi + 5]
mov dword [ebp - 0x84], eax
movzx eax, byte [edi + 4]
shl eax, 8
or eax, edx
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0xac]
push eax
mov dword [ebp - 0xac], 1
call ecx
pop ecx
test eax, eax
jg case.0x44f17b.111
js 0x453ace
add edi, 6
jmp 0x44f6d0
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x18], edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
lea eax, [edi + 3]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
cmp eax, 1
je 0x44f83c
test eax, eax
je 0x44f828
cmp eax, 0xfffffc1c
jne 0x453ace
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f7f5
mov al, byte [edi]
cmp al, 0x5d
je 0x44f84a
cmp al, 0x54
jne case.0x44f17b.111
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f84a
cmp byte [edi], 0x55
mov eax, dword [esi + 0x7c]
mov ebx, dword [esi + 0x70]
mov dword [ebp + 0x14], eax
je 0x44f6cd
cmp ebx, dword [ebp - 0x10]
je 0x44f6cd
lea ecx, [edi + 3]
cmp byte [ecx], 0x19
mov dword [ebp - 0x24], ecx
jne 0x44f893
mov edx, dword [ebp + 0x1c]
movzx ecx, byte [edi + 4]
and edx, 0xfffffff8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x28]
inc ecx
cmp byte [edi], 0x57
push ecx
jne 0x45284a
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x24]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x45289b
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je case.0x44f17b.84
jmp 0x44f6d0
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x28]
inc edi
inc eax
push eax
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f910
jmp 0x44f6cd
mov edi, dword [ebp + 0xc]
inc edi
mov eax, edi
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x44f92f
mov ecx, dword [ebp + 0x28]
inc ecx
push ecx
push 0
push dword [ebp + 0x20]
add eax, 3
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
jmp 0x44f6d0
lea eax, [edi + 1]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x44f974
add eax, 3
jmp 0x44f5d4
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov ecx, edi
sub ecx, eax
mov al, byte [ecx]
mov dword [ebp + 0x18], ecx
cmp al, 0x61
jb 0x44f9ba
mov edx, dword [ebp + 0x20]
mov edi, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp - 0x10], edi
mov dword [ebp + 0x20], edx
jmp 0x44f9be
and dword [ebp - 0x10], 0
cmp al, 0x58
je 0x452c97
cmp al, 0x59
je 0x452c97
cmp al, 0x5a
je 0x452c97
cmp al, 0x5b
je 0x452c97
cmp al, 0x5d
je 0x452c97
cmp al, 0x5f
je 0x44f9f5
cmp al, 0x62
jne 0x44fa88
mov ecx, dword [ebp + 0x18]
movzx eax, byte [ecx + 3]
movzx ecx, byte [ecx + 4]
shl eax, 8
or eax, ecx
lea edx, [eax + eax]
mov dword [esi + 0x80], eax
cmp edx, dword [esi + 0x14]
jl 0x44fa19
mov dword [esi + 0x38], 1
jmp 0x44fa41
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub edi, eax
mov edi, dword [ecx + edi*4]
mov dword [ecx + edx*4], edi
mov edi, dword [esi + 0xc]
mov ecx, ebx
sub ecx, dword [esi + 0x64]
mov dword [edi + edx*4 + 4], ecx
lea ecx, [eax + eax]
cmp dword [ebp + 0x14], ecx
jg 0x44fa41
add ecx, 2
mov dword [ebp + 0x14], ecx
lea ecx, [esi + 0x90]
mov edi, dword [ecx]
test edi, edi
je 0x44fa88
cmp dword [edi + 4], eax
jne 0x44fa88
mov eax, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi + 0xc]
mov dword [ebp + 0x10], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.00454ef0
mov eax, dword [edi + 0x18]
mov dword [ebp + 0x14], eax
mov eax, dword [edi + 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov dword [ebp + 0x1c], eax
jmp 0x44f155
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x55
je 0x44f988
cmp ebx, dword [ebp - 0x10]
je 0x44f988
mov ecx, dword [ebp + 0x18]
cmp byte [ecx], 0x61
sbb edi, edi
and edi, 0xfffffffe
add edi, 2
cmp byte [eax], 0x57
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x24], edi
jne 0x452873
inc eax
push eax
mov eax, dword [ebp + 0xc]
push 0
push dword [ebp + 0x20]
add eax, 3
push dword [ebp - 0x24]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
test edi, edi
jne 0x452c7c
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x45289f
cmp dword [esi + 0x3c], 0
je 0x44fb0b
cmp ebx, dword [esi + 0x64]
je case.0x44f17b.111
test byte [ebp + 0x1c], 2
je case.0x44f17b.1
mov ecx, dword [esi + 0x64]
cmp ebx, ecx
je 0x44fb7a
cmp ebx, dword [esi + 0x68]
je case.0x44f17b.111
mov eax, dword [esi + 0x18]
test eax, eax
je 0x44fb4d
cmp ebx, ecx
jbe case.0x44f17b.111
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push ecx
push eax
mov edx, ebx
call fcn.004548db
add esp, 0x10
test eax, eax
je case.0x44f17b.111
jmp 0x44fb7a
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb case.0x44f17b.111
mov edi, ebx
sub edi, eax
mov cl, byte [edi]
cmp cl, byte [esi + 0x2c]
jne case.0x44f17b.111
cmp eax, 1
je 0x44fb7a
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
jne case.0x44f17b.111
inc dword [ebp + 0xc]
jmp 0x44f155
cmp ebx, dword [esi + 0x64]
jne case.0x44f17b.111
inc edi
jmp 0x44f6d0
mov eax, dword [esi + 0x84]
add eax, dword [esi + 0x64]
cmp ebx, eax
jmp 0x44fb85
mov dword [ebp + 0x10], ebx
jmp 0x44fb8b
test byte [ebp + 0x1c], 2
je 0x44fbfd
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fbf7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44fbd2
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
je case.0x44f17b.111
jmp 0x44fb8b
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja case.0x44f17b.111
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne case.0x44f17b.111
cmp ecx, 1
je 0x44fb8b
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
jmp 0x44fb85
cmp dword [esi + 0x40], 0
jmp 0x44fb85
cmp dword [esi + 0x40], 0
jne case.0x44f17b.111
cmp dword [esi + 0x4c], 0
jne case.0x44f17b.24
mov eax, dword [esi + 0x68]
cmp ebx, eax
je 0x44fb7a
mov ecx, dword [esi + 0x18]
test ecx, ecx
jne 0x44fc56
lea edi, [esi + 0x1c]
mov ecx, dword [edi]
sub eax, ecx
cmp ebx, eax
ja case.0x44f17b.111
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne case.0x44f17b.111
cmp ecx, 1
je 0x44fc4a
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
jne case.0x44f17b.111
mov eax, dword [esi + 0x68]
sub eax, dword [edi]
cmp ebx, eax
jmp 0x44fb74
cmp ebx, eax
jae case.0x44f17b.111
push dword [ebp - 0x20]
lea edi, [esi + 0x1c]
push edi
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
je case.0x44f17b.111
jmp 0x44fc4a
cmp ebx, dword [esi + 0x68]
jb case.0x44f17b.111
jmp 0x44fb8b
cmp dword [ebp - 0x20], 0
je 0x44fd8f
cmp ebx, dword [esi + 0x64]
je 0x44fd1e
lea eax, [ebx - 1]
mov ecx, 0xc0
jmp 0x44fca5
dec eax
mov dl, byte [eax]
and dl, cl
cmp dl, 0x80
je 0x44fca4
cmp eax, dword [esi + 0x74]
jae 0x44fcb6
mov dword [esi + 0x74], eax
movzx edi, byte [eax]
cmp edi, ecx
jb 0x44fd08
mov ecx, edi
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0e0]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0x10], edx
mov edx, dword [edx*4 + 0x46f0c8]
and edi, edx
shl edi, cl
xor edx, edx
inc edx
mov dword [ebp + 0x18], edx
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x10], edx
jl 0x44fd08
movzx edx, byte [edx + eax]
and edx, 0x3f
sub ecx, 6
shl edx, cl
or dword [ebp - 0x14], edx
mov edx, dword [ebp + 0x18]
inc edx
mov dword [ebp + 0x18], edx
cmp edx, dword [ebp - 0x10]
jle 0x44fcea
mov edi, dword [ebp - 0x14]
cmp edi, 0x100
jae 0x44fd1e
mov eax, dword [esi + 0x34]
test byte [edi + eax], 0x10
je 0x44fd1e
xor edi, edi
inc edi
jmp 0x44fd20
xor edi, edi
mov dword [ebp - 0x10], edi
cmp ebx, dword [esi + 0x68]
jae 0x44fdb9
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x44fd79
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp + 0x18], 1
cmp eax, 1
jl 0x44fd76
mov edi, dword [ebp + 0x18]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], eax
jle 0x44fd5d
mov edi, dword [ebp - 0x10]
cmp edx, 0x100
jae 0x44fdd3
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
je 0x44fdd3
xor eax, eax
inc eax
jmp 0x44fde7
cmp ebx, dword [esi + 0x64]
jne 0x44fd98
xor edi, edi
jmp 0x44fdb4
cmp ebx, dword [esi + 0x74]
ja 0x44fda3
lea eax, [ebx - 1]
mov dword [esi + 0x74], eax
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x34]
movzx edi, byte [eax + ecx]
shr edi, 4
and edi, 1
cmp ebx, dword [esi + 0x68]
jb 0x44fdd7
mov eax, dword [esi + 0x78]
test eax, eax
je 0x44fdd3
cmp ebx, dword [ebp + 0x10]
jbe 0x44fdd3
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
xor eax, eax
jmp 0x44fde7
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x34]
movzx eax, byte [ecx + eax]
shr eax, 4
and eax, 1
mov ecx, dword [ebp + 0xc]
mov cl, byte [ecx]
inc dword [ebp + 0xc]
cmp cl, 5
jne 0x44fdfd
xor ecx, ecx
cmp eax, edi
sete cl
jmp 0x44fe04
xor ecx, ecx
cmp eax, edi
setne cl
mov eax, ecx
test eax, eax
je 0x44f155
jmp case.0x44f17b.111
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44fe3c
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae case.0x44f17b.13
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
jne case.0x44f17b.111
jmp case.0x44f17b.13
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x68]
sub ecx, eax
cmp ebx, ecx
ja case.0x44f17b.13
mov cl, byte [ebx]
cmp cl, byte [esi + 0x2c]
jne case.0x44f17b.13
cmp eax, 1
je case.0x44f17b.111
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je case.0x44f17b.111
mov eax, dword [esi + 0x68]
mov ecx, ebx
inc ebx
cmp ecx, eax
jae 0x44fea3
cmp dword [ebp - 0x20], 0
je 0x44fb8b
cmp ebx, eax
jae 0x44fb8b
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x44fb8b
inc ebx
cmp ebx, dword [esi + 0x68]
jb 0x44fe80
jmp 0x44fb8b
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x68]
jb 0x44fb8b
mov eax, dword [esi + 0x78]
test eax, eax
je case.0x44f17b.111
cmp ebx, dword [ebp + 0x10]
jbe case.0x44f17b.111
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jle case.0x44f17b.111
push 0xfffffffffffffff4
jmp 0x453acd
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44ff18
cmp edx, 0xc0
jb 0x44ff18
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44ff11
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x44feff
cmp edx, 0x100
jae 0x44fb7a
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
jmp 0x44fb74
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44ff80
cmp edx, 0xc0
jb 0x44ff80
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44ff79
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x44ff67
cmp edx, 0x100
jae case.0x44f17b.111
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
jmp 0x44fb45
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44ffe8
cmp edx, 0xc0
jb 0x44ffe8
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44ffe1
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x44ffcf
cmp edx, 0x100
jae 0x44fb7a
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
jmp 0x44fb74
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x450050
cmp edx, 0xc0
jb 0x450050
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x450049
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x450037
cmp edx, 0x100
jae case.0x44f17b.111
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
jmp 0x44fb45
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x4500b8
cmp edx, 0xc0
jb 0x4500b8
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x4500b1
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x45009f
cmp edx, 0x100
jae 0x44fb7a
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
jmp 0x44fb74
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x450120
cmp edx, 0xc0
jb 0x450120
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x450119
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x450107
cmp edx, 0x100
jae case.0x44f17b.111
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
jmp 0x44fb45
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x450188
cmp edx, 0xc0
jb 0x450188
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x450181
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x45016f
cmp edx, 0xa
je 0x44fb7a
jbe case.0x44f17b.111
cmp edx, 0xc
jbe 0x4501c1
cmp edx, 0xd
je 0x4501ca
cmp edx, 0x85
je 0x4501c1
cmp edx, 0x2027
jbe case.0x44f17b.111
cmp edx, 0x2029
ja case.0x44f17b.111
cmp dword [esi + 0x5c], 0
jmp 0x44fb74
cmp ebx, dword [esi + 0x68]
jae 0x44fb7a
cmp byte [ebx], 0xa
jne 0x44fb7a
inc ebx
jmp 0x44fb7a
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x450235
cmp eax, 0xc0
jb 0x450235
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0e0]
and eax, dword [edx*4 + 0x46f0c8]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
test edx, edx
jle 0x450235
jmp 0x45021f
mov ecx, dword [ebp + 0x18]
movzx edi, byte [ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec edx
mov dword [ebp + 0x18], ecx
or eax, edi
inc ebx
test edx, edx
jg 0x45021c
mov ecx, 0x180e
cmp eax, ecx
ja 0x45026b
je case.0x44f17b.111
cmp eax, 9
je case.0x44f17b.111
cmp eax, 0x20
je case.0x44f17b.111
cmp eax, 0xa0
je case.0x44f17b.111
cmp eax, 0x1680
jmp 0x44fb45
cmp eax, 0x2000
jb 0x44fb7a
cmp eax, 0x200a
jbe case.0x44f17b.111
cmp eax, 0x202f
je case.0x44f17b.111
cmp eax, 0x205f
je case.0x44f17b.111
cmp eax, 0x3000
jmp 0x44fb45
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x4502f4
cmp eax, 0xc0
jb 0x4502f4
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0e0]
and eax, dword [edx*4 + 0x46f0c8]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
test edx, edx
jle 0x4502f4
jmp 0x4502de
mov ecx, dword [ebp + 0x18]
movzx edi, byte [ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec edx
mov dword [ebp + 0x18], ecx
or eax, edi
inc ebx
test edx, edx
jg 0x4502db
mov ecx, 0x180e
cmp eax, ecx
ja 0x45032a
je 0x44fb7a
cmp eax, 9
je 0x44fb7a
cmp eax, 0x20
je 0x44fb7a
cmp eax, 0xa0
je 0x44fb7a
cmp eax, 0x1680
jmp 0x44fb74
cmp eax, 0x2000
jb case.0x44f17b.111
cmp eax, 0x200a
jbe 0x44fb7a
cmp eax, 0x202f
je 0x44fb7a
cmp eax, 0x205f
je 0x44fb7a
cmp eax, 0x3000
jmp 0x44fb74
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x4503b0
cmp edx, 0xc0
jb 0x4503b0
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x4503a9
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x450397
cmp edx, 0xa
jb 0x44fb7a
cmp edx, 0xd
jbe case.0x44f17b.111
cmp edx, 0x85
je case.0x44f17b.111
cmp edx, 0x2027
jbe 0x44fb7a
cmp edx, 0x2029
jbe case.0x44f17b.111
jmp 0x44fb7a
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x45043b
cmp edx, 0xc0
jb 0x45043b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x450434
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x450422
cmp edx, 0xa
jb case.0x44f17b.111
cmp edx, 0xd
jbe 0x44fb7a
cmp edx, 0x85
je 0x44fb7a
cmp edx, 0x2027
jbe case.0x44f17b.111
cmp edx, 0x2029
ja case.0x44f17b.111
jmp 0x44fb7a
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
add edi, 3
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0xc], edi
cmp ecx, dword [ebp + 0x14]
jge 0x4504a6
mov eax, dword [esi + 0xc]
lea eax, [eax + ecx*4]
mov edx, dword [eax]
test edx, edx
js 0x4504a6
mov edi, dword [eax + 4]
sub edi, edx
jmp 0x4504b3
xor edi, edi
cmp dword [esi + 0x48], edi
jne 0x4504b3
mov edi, dword [esi + 0x68]
sub edi, ebx
inc edi
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
mov dword [ebp - 0xc], edi
cmp al, 0x46
jb 0x45058f
cmp al, 0x4b
jbe 0x45050a
cmp al, 0x4d
ja 0x45058f
xor ecx, ecx
cmp al, 0x4d
mov eax, dword [ebp + 0xc]
movzx edi, byte [eax + 1]
movzx edx, byte [eax + 4]
sete cl
shl edi, 8
mov dword [ebp - 0x18], ecx
movzx ecx, byte [eax + 2]
or edi, ecx
movzx ecx, byte [eax + 3]
shl ecx, 8
or ecx, edx
mov dword [ebp - 8], ecx
jne 0x450502
mov dword [ebp - 8], accept
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x450535
inc dword [ebp + 0xc]
movzx eax, al
movsx edi, byte [eax + 0x46fb32]
lea ecx, [eax - 0x46]
movsx eax, byte [eax + 0x46fb3a]
and ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x450535
mov dword [ebp - 8], accept
cmp dword [ebp - 0xc], 0
je 0x44f155
xor eax, eax
inc eax
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x450570
push dword [ebp + 0x1c]
mov edx, dword [ebp - 0xc]
push dword [ebp - 0x10]
mov eax, esi
mov ecx, ebx
call fcn.0044f0a5
pop ecx
pop ecx
test eax, eax
je 0x452ca2
add ebx, dword [ebp - 0xc]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x450549
cmp edi, dword [ebp - 8]
je 0x44f155
cmp dword [ebp - 0x18], 0
je 0x452d1b
mov dword [ebp + 0x18], edi
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x452cf6
push dword [ebp + 0x1c]
mov eax, esi
push ecx
mov edx, edi
mov ecx, ebx
call fcn.0044f0a5
pop ecx
pop ecx
test eax, eax
je 0x452ca2
add ebx, edi
jmp 0x44f155
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp - 0x1c], eax
mov al, byte [edi]
mov dword [ebp + 0xc], edi
cmp al, 0x46
jb 0x450630
cmp al, 0x4b
jbe 0x450603
cmp al, 0x4d
ja 0x450630
xor ecx, ecx
cmp al, 0x4d
sete cl
mov eax, edi
movzx edi, byte [eax + 1]
movzx edx, byte [eax + 4]
mov dword [ebp - 0x18], ecx
movzx ecx, byte [eax + 2]
shl edi, 8
or edi, ecx
movzx ecx, byte [eax + 3]
shl ecx, 8
or ecx, edx
mov dword [ebp - 8], ecx
jne 0x4505fb
mov dword [ebp - 8], accept
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x450636
inc dword [ebp + 0xc]
movzx eax, al
movsx edi, byte [eax + 0x46fb32]
lea ecx, [eax - 0x46]
movsx eax, byte [eax + 0x46fb3a]
and ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x450636
mov dword [ebp - 8], accept
jmp 0x450636
xor edi, edi
inc edi
mov dword [ebp - 8], edi
cmp dword [ebp - 0x20], 0
je 0x4506e1
xor ecx, ecx
inc ecx
mov dword [ebp + 0x18], ecx
cmp edi, ecx
jl 0x45071b
jmp 0x450653
xor ecx, ecx
inc ecx
cmp ebx, dword [esi + 0x68]
jae 0x452da3
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
jb 0x4506ab
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0e0]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0xc], edx
mov edx, dword [edx*4 + 0x46f0c8]
and eax, edx
shl eax, cl
cmp dword [ebp - 0xc], 0
jle 0x4506ab
jmp 0x450691
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ebx]
dec dword [ebp - 0xc]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [ebp - 0x14], ecx
or eax, edx
inc ebx
cmp dword [ebp - 0xc], 0
jg 0x45068e
cmp eax, 0xff
jbe 0x4506b8
cmp dword [ebp - 0x10], 0x4e
jmp 0x4506cd
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x44f17b.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x450650
jmp 0x45071b
xor eax, eax
inc eax
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x45071b
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x1c]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je case.0x44f17b.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x4506eb
cmp edi, dword [ebp - 8]
je 0x44f155
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x452ed2
cmp dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x18], edi
je 0x452e6d
inc eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x452e45
movzx ecx, byte [edi + 2]
lea eax, [edi + 3]
mov dword [ebp - 0x1c], eax
movzx eax, byte [edi + 1]
shl eax, 8
or eax, ecx
add edi, eax
mov al, byte [edi]
mov dword [ebp + 0xc], edi
cmp al, 0x46
jb 0x4507d5
cmp al, 0x4b
jbe 0x4507a8
cmp al, 0x4d
ja 0x4507d5
xor ecx, ecx
cmp al, 0x4d
sete cl
mov eax, edi
movzx edi, byte [eax + 1]
movzx edx, byte [eax + 4]
mov dword [ebp - 0x18], ecx
movzx ecx, byte [eax + 2]
shl edi, 8
or edi, ecx
movzx ecx, byte [eax + 3]
shl ecx, 8
or ecx, edx
mov dword [ebp - 8], ecx
jne 0x4507a0
mov dword [ebp - 8], accept
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x4507db
inc dword [ebp + 0xc]
movzx eax, al
movsx edi, byte [eax + 0x46fb32]
lea ecx, [eax - 0x46]
movsx eax, byte [eax + 0x46fb3a]
and ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4507db
mov dword [ebp - 8], accept
jmp 0x4507db
xor edi, edi
inc edi
mov dword [ebp - 8], edi
xor eax, eax
inc eax
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x450859
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x14], eax
je 0x45083d
cmp eax, 0xc0
jb 0x45083d
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
mov edx, dword [eax*4 + 0x46f0c8]
and edx, dword [ebp - 0x14]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], edx
jmp 0x450839
movzx edx, byte [ebx]
sub dword [ebp - 0x10], 6
mov ecx, dword [ebp - 0x10]
and edx, 0x3f
shl edx, cl
dec eax
or dword [ebp - 0x14], edx
inc ebx
test eax, eax
jg 0x450825
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.00454c02
pop ecx
test eax, eax
je case.0x44f17b.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x4507e5
cmp edi, dword [ebp - 8]
je 0x44f155
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0x18], edi
je 0x4530fe
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x4530d6
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x20], 0
je 0x4508e1
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
mov edi, ecx
cmp eax, 0xc0
jb 0x4508a2
and eax, 0x3f
movzx edi, byte [eax + 0x46f0e0]
inc edi
mov eax, dword [esi + 0x68]
sub eax, ebx
cmp edi, eax
jle 0x4508d8
mov eax, dword [esi + 0x78]
test eax, eax
je case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jb case.0x44f17b.111
jmp 0x452dae
mov eax, dword [ebp + 0xc]
mov cl, byte [ebx]
mov al, byte [eax]
dec edi
inc ebx
inc dword [ebp + 0xc]
cmp al, cl
jne case.0x44f17b.111
test edi, edi
jg 0x4508c4
jmp 0x44f155
mov eax, dword [esi + 0x68]
sub eax, ebx
cmp eax, ecx
jl 0x452da3
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jne case.0x44f17b.111
jmp 0x44f5e3
cmp dword [ebp - 0x20], 0
je 0x4509f1
xor eax, eax
inc eax
inc dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
movzx edi, byte [ecx]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
cmp edi, 0xc0
jb 0x450973
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
mov edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
and edx, edi
shl edx, cl
mov dword [ebp - 0x14], edx
xor edx, edx
inc edx
mov dword [ebp + 0x18], edx
cmp eax, edx
jl 0x45096c
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
movzx edx, byte [edi + edx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
or dword [ebp - 0x14], edx
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], eax
jle 0x45094f
mov edi, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0xc], eax
mov ecx, dword [esi + 0x68]
sub ecx, ebx
cmp eax, ecx
jg 0x4531df
cmp dword [ebp - 0x14], 0x80
jae 0x45099e
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x30]
mov cl, byte [ecx + eax]
inc ebx
inc dword [ebp + 0xc]
cmp byte [eax + edi], cl
jmp 0x44fe08
movzx eax, byte [ebx]
inc ebx
mov dword [ebp + 0x18], eax
cmp eax, 0xc0
jb 0x4509e0
and eax, 0x3f
movzx edx, byte [eax + 0x46f0e0]
mov eax, dword [edx*4 + 0x46f0c8]
and eax, dword [ebp + 0x18]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
mov dword [ebp + 0x18], eax
jmp 0x4509dc
movzx eax, byte [ebx]
sub ecx, 6
and eax, 0x3f
shl eax, cl
dec edx
or dword [ebp + 0x18], eax
inc ebx
test edx, edx
jg 0x4509cc
mov eax, dword [ebp - 0xc]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 0x14], eax
jmp 0x44fe08
mov eax, dword [esi + 0x68]
xor ecx, ecx
sub eax, ebx
inc ecx
cmp eax, ecx
jl 0x452da3
movzx edx, byte [ebx]
mov eax, dword [esi + 0x30]
movzx ecx, byte [edi + 1]
mov dl, byte [edx + eax]
inc ebx
cmp byte [ecx + eax], dl
jmp 0x4508f4
mov eax, dword [ebp + 0xc]
movzx edi, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edi, 8
or edi, ecx
add eax, 3
mov dword [ebp - 8], edi
mov dword [ebp + 0xc], eax
jmp 0x450ab6
mov dword [ebp - 0x1c], 1
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
mov dword [ebp - 8], eax
xor eax, eax
xor edi, edi
cmp byte [ebp + 0x1b], 0x26
sete al
add ecx, 3
mov dword [ebp + 0xc], ecx
mov dword [ebp - 0x18], eax
jmp 0x450ab6
mov dword [ebp - 0x1c], 1
xor edi, edi
inc dword [ebp + 0xc]
jmp 0x450aaf
xor edi, edi
inc edi
mov dword [ebp - 0x1c], edi
jmp 0x450a6e
xor eax, eax
inc eax
xor edi, edi
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], eax
jmp 0x450ab6
mov eax, dword [ebp - 0x10]
movsx edi, byte [eax + 0x46fb59]
inc dword [ebp + 0xc]
lea ecx, [eax - 0x1f]
movsx eax, byte [eax + 0x46fb61]
and ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x450ab6
mov dword [ebp - 8], accept
cmp dword [ebp - 0x20], 0
mov eax, dword [ebp + 0xc]
movzx edx, byte [eax]
mov dword [ebp - 0x14], edx
je 0x450bed
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], eax
cmp edx, 0xc0
jb 0x450b33
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], eax
mov eax, dword [eax*4 + 0x46f0c8]
and edx, eax
mov eax, dword [ebp - 0xc]
shl edx, cl
mov dword [ebp + 0x18], 1
mov dword [ebp - 0x14], edx
cmp eax, 1
jl 0x450b2f
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
and eax, 0x3f
sub ecx, 6
shl eax, cl
or dword [ebp - 0x14], eax
inc dword [ebp + 0x18]
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x18], eax
jle 0x450b0c
mov edx, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
add dword [ebp + 0xc], ecx
xor eax, eax
inc eax
cmp ecx, eax
jle 0x450bf3
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x450b7b
mov eax, dword [esi + 0x68]
sub eax, dword [ebp - 0xc]
cmp ebx, eax
ja 0x4531df
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push ebx
call fcn.00455a73
add esp, 0xc
test eax, eax
jne 0x4531df
add ebx, dword [ebp - 0xc]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x450b4b
cmp edi, dword [ebp - 8]
je 0x44f155
cmp dword [ebp - 0x18], 0
jne 0x4531f8
mov dword [ebp - 0x18], ebx
jmp 0x450bb4
mov eax, dword [esi + 0x68]
sub eax, dword [ebp - 0xc]
cmp ebx, eax
ja 0x450bbb
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push ebx
call fcn.00455a73
add esp, 0xc
test eax, eax
jne 0x450bbb
add ebx, dword [ebp - 0xc]
inc edi
cmp edi, dword [ebp - 8]
jl 0x450b93
jmp 0x450bda
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x450bda
cmp ebx, dword [esi + 0x68]
jb 0x450bda
cmp ebx, dword [ebp + 0x10]
jbe 0x450bda
xor eax, eax
inc eax
mov dword [esi + 0x58], eax
cmp ecx, eax
jg 0x44fec5
cmp dword [ebp - 0x1c], 0
jne 0x44f155
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x453269
inc dword [ebp + 0xc]
xor eax, eax
inc eax
test byte [ebp + 0x1c], 1
je 0x450cc4
mov eax, dword [esi + 0x30]
movzx ecx, byte [eax + edx]
mov dword [ebp - 0x14], ecx
xor ecx, ecx
inc ecx
cmp edi, ecx
jl 0x450c2d
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
movzx edx, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x14], edx
jne case.0x44f17b.111
inc ecx
cmp ecx, edi
jle 0x450c0e
cmp edi, dword [ebp - 8]
je 0x44f155
cmp dword [ebp - 0x18], 0
jne 0x45328e
mov dword [ebp - 0x18], ebx
cmp edi, dword [ebp - 8]
jge 0x450c7e
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x450c64
movzx edx, byte [ebx]
movzx edx, byte [edx + eax]
cmp dword [ebp - 0x14], edx
jne 0x450c7e
inc ebx
inc edi
cmp edi, dword [ebp - 8]
jl 0x450c4b
jmp 0x450c7e
mov eax, dword [esi + 0x78]
test eax, eax
je 0x450c7e
cmp ebx, dword [ebp + 0x10]
jbe 0x450c7e
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
cmp dword [ebp - 0x1c], 0
jne 0x44f155
cmp ebx, dword [ebp - 0x18]
jb case.0x44f17b.111
mov edi, dword [ebp + 0x28]
inc edi
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
dec ebx
test eax, eax
jne 0x453ace
cmp ebx, dword [ebp - 0x18]
jae 0x450c95
jmp case.0x44f17b.111
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x450cea
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
movzx ecx, byte [ebx]
inc ebx
cmp edx, ecx
jne case.0x44f17b.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x450cce
cmp edi, dword [ebp - 8]
je 0x44f155
cmp dword [ebp - 0x18], 0
jne 0x4532e8
mov dword [ebp - 0x18], ebx
cmp edi, dword [ebp - 8]
jge 0x450d37
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x450d1d
movzx ecx, byte [ebx]
cmp dword [ebp - 0x14], ecx
jne 0x450d37
inc ebx
inc edi
cmp edi, dword [ebp - 8]
jl 0x450d08
jmp 0x450d37
mov eax, dword [esi + 0x78]
test eax, eax
je 0x450d37
cmp ebx, dword [ebp + 0x10]
jbe 0x450d37
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
cmp dword [ebp - 0x1c], 0
jne 0x44f155
cmp ebx, dword [ebp - 0x18]
jb case.0x44f17b.111
mov edi, dword [ebp + 0x28]
inc edi
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
dec ebx
test eax, eax
jne 0x453ace
cmp ebx, dword [ebp - 0x18]
jae 0x450d4e
jmp case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc edi
inc ebx
cmp dword [ebp - 0x20], 0
mov dword [ebp + 0xc], edi
je 0x450dd1
cmp edx, 0xc0
jb 0x450dd1
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x450dca
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x450db8
test byte [ebp + 0x1c], 1
je 0x450e03
cmp edx, 0x100
jae 0x450de6
mov eax, dword [esi + 0x30]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
mov ecx, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
inc dword [ebp + 0xc]
cmp eax, edx
jne 0x44f155
jmp case.0x44f17b.111
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x450df3
mov eax, dword [ebp + 0xc]
movzx edi, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edi, 8
or edi, ecx
add eax, 3
mov dword [ebp - 8], edi
mov dword [ebp + 0xc], eax
jmp 0x450ebe
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
mov dword [ebp - 8], eax
xor eax, eax
xor edi, edi
cmp byte [ebp + 0x1b], 0x33
sete al
mov dword [ebp - 0x18], eax
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x450ebe
mov dword [ebp - 0x1c], 1
xor edi, edi
inc dword [ebp + 0xc]
jmp 0x450eb7
xor edi, edi
inc edi
mov dword [ebp - 0x1c], edi
jmp 0x450e5b
xor eax, eax
inc eax
xor edi, edi
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], eax
jmp 0x450ebe
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
xor edi, edi
or eax, edx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 8], eax
jmp 0x450e4a
movsx edi, byte [eax + 0x46fb4c]
inc dword [ebp + 0xc]
lea ecx, [eax - 0x2c]
movsx eax, byte [eax + 0x46fb54]
and ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x450ebe
mov dword [ebp - 8], accept
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
inc dword [ebp + 0xc]
test byte [ebp + 0x1c], 1
mov dword [ebp - 0x14], ecx
je 0x4510f4
cmp dword [ebp - 0x20], 0
mov eax, dword [esi + 0x30]
movzx ecx, byte [eax + ecx]
mov dword [ebp - 0x14], ecx
je 0x450f74
xor eax, eax
inc eax
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x450fa2
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xc0
jb 0x450f52
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax*4 + 0x46f0c8]
and ecx, edx
mov edx, ecx
mov ecx, dword [ebp - 0x10]
shl edx, cl
jmp 0x450f4b
movzx ecx, byte [ebx]
sub dword [ebp - 0x10], 6
and ecx, 0x3f
mov edx, ecx
mov ecx, dword [ebp - 0x10]
shl edx, cl
dec eax
mov ecx, edx
mov edx, dword [ebp - 0xc]
or edx, ecx
inc ebx
mov dword [ebp - 0xc], edx
test eax, eax
jg 0x450f31
cmp edx, 0x100
jae 0x450f61
mov eax, dword [esi + 0x30]
movzx edx, byte [eax + edx]
cmp dword [ebp - 0x14], edx
je case.0x44f17b.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x450ef6
jmp 0x450fa2
xor ecx, ecx
inc ecx
mov dword [ebp + 0x18], ecx
cmp edi, ecx
jl 0x450fa2
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
movzx edx, byte [ebx]
movzx edx, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x14], edx
je case.0x44f17b.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x450f81
cmp edi, dword [ebp - 8]
je 0x44f155
xor ecx, ecx
cmp dword [ebp - 0x18], ecx
jne 0x45333b
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x20], ecx
je 0x451070
mov dword [ebp + 0x18], edi
cmp edi, dword [ebp - 8]
jge 0x45105d
xor ecx, ecx
inc ecx
mov eax, ecx
cmp ebx, dword [esi + 0x68]
jae 0x451046
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x451023
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], 1
cmp eax, 1
jl 0x451022
mov edi, dword [ebp - 0x10]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x451009
inc eax
cmp edx, 0x100
jae 0x451032
mov ecx, dword [esi + 0x30]
movzx edx, byte [ecx + edx]
cmp dword [ebp - 0x14], edx
je 0x45105d
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x450fce
jmp 0x45105d
mov eax, dword [esi + 0x78]
test eax, eax
je 0x45105d
cmp ebx, dword [ebp + 0x10]
jbe 0x45105d
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
cmp dword [ebp - 0x1c], 0
jne 0x44f155
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x45345e
cmp edi, dword [ebp - 8]
jge 0x4510ae
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x451094
movzx edx, byte [ebx]
mov eax, dword [esi + 0x30]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x14], eax
je 0x4510ae
inc ebx
inc edi
cmp edi, dword [ebp - 8]
jl 0x451078
jmp 0x4510ae
mov eax, dword [esi + 0x78]
test eax, eax
je 0x4510ae
cmp ebx, dword [ebp + 0x10]
jbe 0x4510ae
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
cmp dword [ebp - 0x1c], 0
jne 0x44f155
cmp ebx, dword [ebp - 0x18]
jb case.0x44f17b.111
mov edi, dword [ebp + 0x28]
inc edi
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
dec ebx
cmp ebx, dword [ebp - 0x18]
jae 0x4510c5
jmp case.0x44f17b.111
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x20], 0
je 0x451175
mov dword [ebp + 0x18], ecx
cmp edi, ecx
jl 0x451196
jmp 0x45110d
xor ecx, ecx
inc ecx
cmp ebx, dword [esi + 0x68]
jae 0x452da3
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x10], eax
cmp eax, 0xc0
jb 0x45115f
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
mov edx, dword [eax*4 + 0x46f0c8]
and edx, dword [ebp - 0x10]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], edx
jmp 0x45115b
movzx edx, byte [ebx]
sub dword [ebp - 0xc], 6
mov ecx, dword [ebp - 0xc]
and edx, 0x3f
shl edx, cl
dec eax
or dword [ebp - 0x10], edx
inc ebx
test eax, eax
jg 0x451147
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x14], eax
je case.0x44f17b.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x45110a
jmp 0x451196
cmp edi, ecx
jl 0x451196
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x14], edx
je case.0x44f17b.111
inc ecx
cmp ecx, edi
jle 0x45117c
cmp edi, dword [ebp - 8]
je 0x44f155
xor edx, edx
cmp dword [ebp - 0x18], edx
jne 0x453483
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x20], edx
je 0x451255
mov dword [ebp + 0x18], edi
cmp edi, dword [ebp - 8]
jge 0x451242
xor ecx, ecx
inc ecx
mov eax, ecx
cmp ebx, dword [esi + 0x68]
jae 0x45122b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x451217
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], 1
cmp eax, 1
jl 0x451216
mov edi, dword [ebp - 0x10]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x4511fd
inc eax
cmp dword [ebp - 0x14], edx
je 0x451242
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x4511c2
jmp 0x451242
mov eax, dword [esi + 0x78]
test eax, eax
je 0x451242
cmp ebx, dword [ebp + 0x10]
jbe 0x451242
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
cmp dword [ebp - 0x1c], 0
jne 0x44f155
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x453590
cmp edi, dword [ebp - 8]
jge 0x45128c
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x451272
movzx ecx, byte [ebx]
cmp dword [ebp - 0x14], ecx
je 0x45128c
inc ebx
inc edi
cmp edi, dword [ebp - 8]
jl 0x45125d
jmp 0x45128c
mov eax, dword [esi + 0x78]
cmp eax, edx
je 0x45128c
cmp ebx, dword [ebp + 0x10]
jbe 0x45128c
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
cmp dword [ebp - 0x1c], edx
jne 0x44f155
cmp ebx, dword [ebp - 0x18]
jb case.0x44f17b.111
mov edi, dword [ebp + 0x28]
inc edi
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
dec ebx
cmp ebx, dword [ebp - 0x18]
jae 0x4512a2
jmp case.0x44f17b.111
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
xor edx, edx
or ecx, eax
inc edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x18], edx
add edi, 3
jmp 0x451391
movzx eax, byte [edi + 1]
movzx edx, byte [edi + 2]
and dword [ebp - 0xc], 0
shl eax, 8
or eax, edx
mov dword [ebp - 8], eax
xor eax, eax
cmp cl, 0x40
mov ecx, dword [ebp - 0xc]
sete al
add edi, 3
mov dword [ebp - 0x18], eax
jmp 0x45138e
mov dword [ebp - 0x1c], 1
xor ecx, ecx
mov dword [ebp - 8], accept
mov dword [ebp - 0xc], ecx
inc edi
jmp 0x45138e
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
jmp 0x451322
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov dword [ebp - 8], eax
jmp 0x451329
movzx eax, byte [edi + 1]
movzx edx, byte [edi + 2]
shl eax, 8
xor ecx, ecx
or eax, edx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
add edi, 3
jmp 0x45138e
lea ecx, [eax - 0x39]
and ecx, 1
mov dword [ebp - 0x18], ecx
movsx ecx, byte [eax + 0x46fb3f]
movsx eax, byte [eax + 0x46fb47]
inc edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x45138e
mov dword [ebp - 8], accept
xor edx, edx
inc edx
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x10], eax
mov dword [ebp + 0xc], edi
test ecx, ecx
jle 0x451c81
add eax, 0xfffffffa
cmp dword [ebp - 0x20], 0
je 0x451994
cmp eax, 0xf
ja case.0x453983.15
jmp dword [eax*4 + 0x453c69]
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x4513f7
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
jne case.0x44f17b.111
jmp 0x451426
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x451426
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x451426
cmp ecx, 1
je case.0x44f17b.111
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je case.0x44f17b.111
jmp 0x451426
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x45142c
inc ebx
cmp ebx, dword [esi + 0x68]
jb 0x45141e
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x4513ca
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
inc ebx
cmp ebx, eax
jae 0x451461
mov cl, byte [ebx]
and cl, 0xc0
cmp cl, 0x80
jne 0x451461
inc ebx
cmp ebx, dword [esi + 0x68]
jb 0x451451
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451444
jmp 0x451c81
mov eax, dword [esi + 0x68]
sub eax, ecx
cmp ebx, eax
ja case.0x44f17b.111
jmp 0x451a19
mov dword [ebp + 0x18], edx
cmp ecx, edx
jl 0x451c81
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xc0
jb 0x4514d3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x4514cc
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x4514ba
cmp edx, 0xa
je 0x451512
jbe case.0x44f17b.111
cmp edx, 0xc
jbe 0x451508
cmp edx, 0xd
je 0x451526
cmp edx, 0x85
je 0x451508
cmp edx, 0x2027
jbe case.0x44f17b.111
cmp edx, 0x2029
ja case.0x44f17b.111
cmp dword [esi + 0x5c], 0
jne case.0x44f17b.111
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0xc]
jle 0x451489
jmp 0x451c81
cmp ebx, dword [esi + 0x68]
jae 0x451512
cmp byte [ebx], 0xa
jne 0x451512
inc ebx
jmp 0x451512
mov dword [ebp + 0x18], edx
cmp ecx, edx
jl 0x451c81
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
jb 0x45158b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0e0]
and eax, dword [edx*4 + 0x46f0c8]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
test edx, edx
jle 0x45158b
jmp 0x451575
mov ecx, dword [ebp - 0x28]
movzx edi, byte [ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec edx
mov dword [ebp - 0x28], ecx
or eax, edi
inc ebx
test edx, edx
jg 0x451572
mov ecx, 0x180e
cmp eax, ecx
ja 0x4515be
je case.0x44f17b.111
cmp eax, 9
je case.0x44f17b.111
cmp eax, 0x20
je case.0x44f17b.111
cmp eax, 0xa0
je case.0x44f17b.111
cmp eax, 0x1680
jmp 0x4515eb
cmp eax, 0x2000
jb 0x4515f1
cmp eax, 0x200a
jbe case.0x44f17b.111
cmp eax, 0x202f
je case.0x44f17b.111
cmp eax, 0x205f
je case.0x44f17b.111
cmp eax, 0x3000
je case.0x44f17b.111
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0xc]
jle 0x45153e
jmp 0x451c81
mov dword [ebp + 0x18], edx
cmp ecx, edx
jl 0x451c81
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
jb 0x45165d
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0e0]
and eax, dword [edx*4 + 0x46f0c8]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
test edx, edx
jle 0x45165d
jmp 0x451647
mov ecx, dword [ebp - 0x28]
movzx edi, byte [ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec edx
mov dword [ebp - 0x28], ecx
or eax, edi
inc ebx
test edx, edx
jg 0x451644
mov ecx, 0x180e
cmp eax, ecx
ja 0x451680
je 0x4516ab
cmp eax, 9
je 0x4516ab
cmp eax, 0x20
je 0x4516ab
cmp eax, 0xa0
je 0x4516ab
cmp eax, 0x1680
jmp 0x4516a5
cmp eax, 0x2000
jb case.0x44f17b.111
cmp eax, 0x200a
jbe 0x4516ab
cmp eax, 0x202f
je 0x4516ab
cmp eax, 0x205f
je 0x4516ab
cmp eax, 0x3000
jne case.0x44f17b.111
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0xc]
jle 0x451610
jmp 0x451c81
mov dword [ebp + 0x18], edx
cmp ecx, edx
jl 0x451c81
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xc0
jb 0x451714
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x45170d
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x4516fb
cmp edx, 0xa
jb 0x451742
cmp edx, 0xd
jbe case.0x44f17b.111
cmp edx, 0x85
je case.0x44f17b.111
cmp edx, 0x2027
jbe 0x451742
cmp edx, 0x2029
jbe case.0x44f17b.111
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0xc]
jle 0x4516ca
jmp 0x451c81
mov dword [ebp + 0x18], edx
cmp ecx, edx
jl 0x451c81
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xc0
jb 0x4517ab
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x4517a4
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x451792
cmp edx, 0xa
jb case.0x44f17b.111
cmp edx, 0xd
jbe 0x4517d0
cmp edx, 0x85
je 0x4517d0
add edx, 0xffffdfd8
cmp edx, 1
ja case.0x44f17b.111
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0xc]
jle 0x451761
jmp 0x451c81
mov dword [ebp + 0x18], edx
cmp ecx, edx
jl 0x451c81
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xc0
jb 0x451835
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x45182e
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x14]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x14], edx
test eax, eax
jg 0x45181c
cmp edx, 0x80
jae 0x45184a
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
jne case.0x44f17b.111
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 0xc]
jle 0x4517eb
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
mov al, byte [ebx]
cmp al, 0x80
jae case.0x44f17b.111
mov edx, dword [esi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
inc ebx
and al, 4
je case.0x44f17b.111
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451867
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
mov al, byte [ebx]
cmp al, 0x80
jae 0x4518c1
mov edx, dword [esi + 0x34]
movzx eax, al
test byte [eax + edx], 1
jne case.0x44f17b.111
inc ebx
cmp ebx, ecx
jae 0x4518ce
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x4518c1
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x4518a3
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
mov al, byte [ebx]
cmp al, 0x80
jae case.0x44f17b.111
mov edx, dword [esi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
inc ebx
and al, 1
je case.0x44f17b.111
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x4518e6
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae case.0x44f17b.111
mov al, byte [ebx]
cmp al, 0x80
jae 0x451940
mov edx, dword [esi + 0x34]
movzx eax, al
test byte [eax + edx], 0x10
jne case.0x44f17b.111
inc ebx
cmp ebx, ecx
jae 0x45194d
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x451940
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451922
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
mov al, byte [ebx]
cmp al, 0x80
jae case.0x44f17b.111
mov edx, dword [esi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
inc ebx
and al, 0x10
je case.0x44f17b.111
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451965
jmp 0x451c81
cmp eax, 0xf
ja case.0x453983.15
jmp dword [eax*4 + 0x453ca9]
cmp ecx, edx
jl 0x451c81
xor edi, edi
inc edi
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x4519db
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
jne case.0x44f17b.111
jmp 0x451a00
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x451a00
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x451a00
cmp ecx, 1
je case.0x44f17b.111
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je case.0x44f17b.111
inc ebx
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x4519af
jmp 0x451c81
mov eax, dword [esi + 0x68]
sub eax, ecx
cmp ebx, eax
ja 0x4535bc
add ebx, ecx
jmp 0x451c81
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
je 0x451a61
jle case.0x44f17b.111
cmp eax, 0xc
jle 0x451a57
cmp eax, 0xd
je 0x451a6c
cmp eax, 0x85
jne case.0x44f17b.111
cmp dword [esi + 0x5c], 0
jne case.0x44f17b.111
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x451a2b
jmp 0x451c81
cmp ebx, ecx
jae 0x451a61
cmp byte [ebx], 0xa
jne 0x451a61
inc ebx
jmp 0x451a61
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je case.0x44f17b.111
cmp eax, 0x20
je case.0x44f17b.111
cmp eax, 0xa0
je case.0x44f17b.111
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x451a83
jmp 0x451c81
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je 0x451ae3
cmp eax, 0x20
je 0x451ae3
cmp eax, 0xa0
jne case.0x44f17b.111
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x451ac2
jmp 0x451c81
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x451b1e
cmp eax, 0xd
jle case.0x44f17b.111
cmp eax, 0x85
je case.0x44f17b.111
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x451af9
jmp 0x451c81
cmp ecx, edx
jl 0x451c81
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl case.0x44f17b.111
cmp eax, 0xd
jle 0x451b59
cmp eax, 0x85
jne case.0x44f17b.111
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x451b34
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x34]
mov cl, byte [ecx + edx]
inc ebx
and cl, 4
jne case.0x44f17b.111
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451b71
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x34]
mov cl, byte [ecx + edx]
inc ebx
and cl, 4
je case.0x44f17b.111
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451ba4
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x34]
mov cl, byte [ecx + edx]
inc ebx
and cl, 1
jne case.0x44f17b.111
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451bd7
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x34]
mov cl, byte [ecx + edx]
inc ebx
and cl, 1
je case.0x44f17b.111
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451c06
jmp 0x451c81
mov edi, edx
cmp ecx, edx
jl 0x451c81
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x34]
mov cl, byte [ecx + edx]
inc ebx
and cl, 0x10
jne case.0x44f17b.111
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451c32
jmp 0x451c81
xor edi, edi
inc edi
cmp dword [ebp - 0xc], edi
jl 0x451c81
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x34]
mov cl, byte [ecx + edx]
inc ebx
and cl, 0x10
je case.0x44f17b.111
inc edi
cmp edi, dword [ebp - 0xc]
jle 0x451c60
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
je 0x44f155
xor edx, edx
cmp dword [ebp - 0x18], edx
jne 0x4535da
mov eax, dword [ebp - 0x10]
add eax, 0xfffffffa
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x20], edx
je 0x4523a8
cmp eax, 0xf
ja case.0x453983.15
jmp dword [eax*4 + 0x453ce9]
cmp dword [ebp - 8], 0x7fffffff
mov edi, dword [ebp - 0xc]
jge 0x451d9c
jmp 0x451d2f
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x45237b
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x451cf9
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
jne 0x452395
jmp 0x451d28
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x451d28
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x451d28
cmp ecx, 1
je 0x452395
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je 0x452395
jmp 0x451d28
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x451d2e
inc ebx
cmp ebx, dword [esi + 0x68]
jb 0x451d20
inc edi
cmp edi, dword [ebp - 8]
jl 0x451ccc
jmp 0x452395
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x45237b
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x451d66
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
jne 0x452395
jmp 0x451d95
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x451d95
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x451d95
cmp ecx, 1
je 0x452395
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je 0x452395
jmp 0x451d95
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x451d9b
inc ebx
cmp ebx, dword [esi + 0x68]
jb 0x451d8d
inc edi
cmp edi, dword [ebp - 8]
jl 0x451d39
jmp 0x452395
cmp dword [ebp - 8], 0x7fffffff
jge 0x451de6
mov edi, dword [ebp - 0xc]
cmp edi, dword [ebp - 8]
jge 0x452395
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x45237b
inc ebx
cmp ebx, eax
jae 0x451ddb
mov cl, byte [ebx]
and cl, 0xc0
cmp cl, 0x80
jne 0x451ddb
inc ebx
cmp ebx, dword [esi + 0x68]
jb 0x451dcb
inc edi
cmp edi, dword [ebp - 8]
jl 0x451dbe
jmp 0x452395
mov ebx, dword [esi + 0x68]
jmp 0x452395
mov eax, dword [esi + 0x68]
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0xc]
mov edi, eax
sub edi, ebx
cmp ecx, edi
jbe 0x451e0b
mov ebx, eax
mov eax, dword [esi + 0x78]
cmp eax, edx
jmp 0x452380
add ebx, ecx
jmp 0x452395
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x451ec8
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x68]
jae 0x45237b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x451e74
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], 1
cmp eax, 1
jl 0x451e73
mov edi, dword [ebp - 0x10]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x451e5a
inc eax
cmp edx, 0xd
jne 0x451e8b
inc ebx
cmp ebx, dword [esi + 0x68]
jae 0x452395
cmp byte [ebx], 0xa
jne 0x451ec2
inc ebx
jmp 0x451ec2
cmp edx, 0xa
je 0x451ec0
cmp dword [esi + 0x5c], 0
jne 0x452395
cmp edx, 0xb
je 0x451ec0
cmp edx, 0xc
je 0x451ec0
cmp edx, 0x85
je 0x451ec0
cmp edx, 0x2028
je 0x451ec0
cmp edx, 0x2029
jne 0x452395
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x451e1d
jmp 0x452395
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x451f75
xor edi, edi
inc edi
cmp ebx, dword [esi + 0x68]
jae 0x45237b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x451f35
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0xc], edi
cmp eax, edi
jl 0x451f32
mov edi, dword [ebp - 0xc]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x451f19
lea edi, [eax + 1]
mov eax, 0x180e
cmp edx, eax
ja 0x451f83
je 0x451fab
cmp edx, 9
je 0x451fab
cmp edx, 0x20
je 0x451fab
cmp edx, 0xa0
je 0x451fab
cmp edx, 0x1680
je 0x451fab
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x10], 0x12
sete al
cmp ecx, eax
je 0x452395
add ebx, edi
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x451ee1
jmp 0x452395
cmp edx, 0x2000
jb 0x451f5a
cmp edx, 0x200a
jbe 0x451fab
cmp edx, 0x202f
je 0x451fab
cmp edx, 0x205f
je 0x451fab
cmp edx, 0x3000
jne 0x451f5a
xor ecx, ecx
inc ecx
jmp 0x451f5c
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x45204c
xor edi, edi
inc edi
cmp ebx, dword [esi + 0x68]
jae 0x45237b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x45200f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0xc], edi
cmp eax, edi
jl 0x45200c
mov edi, dword [ebp - 0xc]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x451ff3
lea edi, [eax + 1]
cmp edx, 0xa
jb 0x452031
cmp edx, 0xd
jbe 0x45202c
cmp edx, 0x85
je 0x45202c
add edx, 0xffffdfd8
cmp edx, 1
ja 0x452031
xor ecx, ecx
inc ecx
jmp 0x452033
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x10], 0x14
sete al
cmp ecx, eax
je 0x452395
add ebx, edi
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x451fbb
jmp 0x452395
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x4520d6
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x68]
jae 0x45237b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x4520b9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], 1
cmp eax, 1
jl 0x4520b8
mov edi, dword [ebp - 0x10]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x45209f
inc eax
cmp edx, 0x100
jae 0x4520ce
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 4
jne 0x452395
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x452062
jmp 0x452395
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x452160
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x68]
jae 0x45237b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x45213f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], 1
cmp eax, 1
jl 0x45213e
mov edi, dword [ebp - 0x10]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x452125
inc eax
cmp edx, 0x100
jae 0x452395
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 4
je 0x452395
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x4520e8
jmp 0x452395
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x4521e6
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x68]
jae 0x45237b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x4521c9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], 1
cmp eax, 1
jl 0x4521c8
mov edi, dword [ebp - 0x10]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x4521af
inc eax
cmp edx, 0x100
jae 0x4521de
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 1
jne 0x452395
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x452172
jmp 0x452395
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x452270
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x68]
jae 0x45237b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x45224f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], 1
cmp eax, 1
jl 0x45224e
mov edi, dword [ebp - 0x10]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x452235
inc eax
cmp edx, 0x100
jae 0x452395
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 1
je 0x452395
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x4521f8
jmp 0x452395
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x4522f6
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x68]
jae 0x45237b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x4522d9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], 1
cmp eax, 1
jl 0x4522d8
mov edi, dword [ebp - 0x10]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x4522bf
inc eax
cmp edx, 0x100
jae 0x4522ee
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 0x10
jne 0x452395
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x452282
jmp 0x452395
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x452374
xor eax, eax
inc eax
cmp ebx, dword [esi + 0x68]
jae 0x45237b
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x45235b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x10], 1
cmp eax, 1
jl 0x45235a
mov edi, dword [ebp - 0x10]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x452341
inc eax
cmp edx, 0x100
jae 0x452395
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 0x10
je 0x452395
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x452308
jmp 0x452395
mov eax, dword [esi + 0x78]
test eax, eax
je 0x452395
cmp ebx, dword [ebp + 0x10]
jbe 0x452395
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
cmp dword [ebp - 0x1c], 0
jne 0x44f155
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x453aa9
cmp eax, 0xf
ja case.0x453983.15
jmp dword [eax*4 + 0x453d29]
mov eax, dword [ebp - 0xc]
mov edi, eax
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x4526cd
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x4523f2
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
jne 0x4526e7
jmp 0x452417
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x452417
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x452417
cmp ecx, 1
je 0x4526e7
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je 0x4526e7
inc ebx
inc edi
cmp edi, dword [ebp - 8]
jl 0x4523c6
jmp 0x4526e7
mov eax, dword [esi + 0x68]
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0xc]
mov edi, eax
sub edi, ebx
cmp ecx, edi
jbe 0x452440
mov ebx, eax
mov eax, dword [esi + 0x78]
cmp eax, edx
jmp 0x4526d2
add ebx, ecx
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
mov edx, eax
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x4526cd
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x452478
inc ebx
cmp ebx, ecx
jae 0x4526e7
cmp byte [ebx], 0xa
jne 0x45249d
jmp 0x45249c
cmp eax, 0xa
je 0x45249c
cmp dword [esi + 0x5c], 0
jne 0x4526e7
cmp eax, 0xb
je 0x45249c
cmp eax, 0xc
je 0x45249c
cmp eax, 0x85
jne 0x4526e7
inc ebx
inc edx
cmp edx, dword [ebp - 8]
jl 0x452458
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
mov ecx, eax
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov edx, dword [esi + 0x68]
cmp ebx, edx
jae 0x4526cd
movzx eax, byte [ebx]
cmp eax, 9
je 0x4526e7
cmp eax, 0x20
je 0x4526e7
cmp eax, 0xa0
je 0x4526e7
inc ebx
inc ecx
cmp ecx, dword [ebp - 8]
jl 0x4524b9
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
mov ecx, eax
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov edx, dword [esi + 0x68]
cmp ebx, edx
jae 0x4526cd
movzx eax, byte [ebx]
cmp eax, 9
je 0x45251e
cmp eax, 0x20
je 0x45251e
cmp eax, 0xa0
jne 0x4526e7
inc ebx
inc ecx
cmp ecx, dword [ebp - 8]
jl 0x4524fe
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
mov ecx, eax
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov edx, dword [esi + 0x68]
cmp ebx, edx
jae 0x4526cd
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x4526e7
cmp eax, 0xb
je 0x4526e7
cmp eax, 0xc
je 0x4526e7
cmp eax, 0xd
je 0x4526e7
cmp eax, 0x85
je 0x4526e7
inc ebx
inc ecx
cmp ecx, dword [ebp - 8]
jl 0x45253b
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
mov ecx, eax
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov edx, dword [esi + 0x68]
cmp ebx, edx
jae 0x4526cd
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x4525bc
cmp eax, 0xb
je 0x4525bc
cmp eax, 0xc
je 0x4525bc
cmp eax, 0xd
je 0x4525bc
cmp eax, 0x85
jne 0x4526e7
inc ebx
inc ecx
cmp ecx, dword [ebp - 8]
jl 0x452592
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x4526cd
movzx edx, byte [ebx]
mov edi, dword [esi + 0x34]
test byte [edx + edi], 4
jne 0x4526e7
inc ebx
inc eax
cmp eax, dword [ebp - 8]
jl 0x4525d7
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x4526cd
movzx edx, byte [ebx]
mov edi, dword [esi + 0x34]
test byte [edx + edi], 4
je 0x4526e7
inc ebx
inc eax
cmp eax, dword [ebp - 8]
jl 0x45260a
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x4526cd
movzx edx, byte [ebx]
mov edi, dword [esi + 0x34]
test byte [edx + edi], 1
jne 0x4526e7
inc ebx
inc eax
cmp eax, dword [ebp - 8]
jl 0x45263d
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x4526cd
movzx edx, byte [ebx]
mov edi, dword [esi + 0x34]
test byte [edx + edi], 1
je 0x4526e7
inc ebx
inc eax
cmp eax, dword [ebp - 8]
jl 0x45266c
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x4526cd
movzx edx, byte [ebx]
mov edi, dword [esi + 0x34]
test byte [edx + edi], 0x10
jne 0x4526e7
inc ebx
inc eax
cmp eax, dword [ebp - 8]
jl 0x452690
jmp 0x4526e7
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jge 0x4526e7
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x4526cd
movzx edx, byte [ebx]
mov edi, dword [esi + 0x34]
test byte [edx + edi], 0x10
je 0x4526e7
inc ebx
inc eax
cmp eax, dword [ebp - 8]
jl 0x4526b4
jmp 0x4526e7
mov eax, dword [esi + 0x78]
test eax, eax
je 0x4526e7
cmp ebx, dword [ebp + 0x10]
jbe 0x4526e7
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
cmp dword [ebp - 0x1c], 0
jne 0x44f155
cmp ebx, dword [ebp - 0x18]
jb case.0x44f17b.111
mov edi, dword [ebp + 0x28]
inc edi
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
dec ebx
test eax, eax
jne 0x453ace
cmp ebx, dword [ebp - 0x18]
jae 0x4526fe
jmp case.0x44f17b.111
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 5]
shl eax, 8
or eax, ecx
lea eax, [edi + eax + 3]
cmp byte [eax], 0x54
mov dword [ebp + 0xc], eax
jne 0x45275d
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x452746
mov dword [ebp + 0xc], eax
add dword [ebp + 0xc], 3
cmp dword [ebp - 0x10], 0x63
jne 0x45289b
mov eax, dword [ebp + 0x28]
inc eax
push eax
push 2
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
jmp 0x452aab
movzx ecx, byte [edi + 3]
movzx edx, byte [edi + 4]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x18], ecx
add ecx, ecx
cmp ecx, dword [esi + 0x14]
jl 0x4529b7
cmp eax, 0x61
jl 0x4527b0
mov dword [ebp + 0x24], 2
jmp 0x4527b4
and dword [ebp + 0x24], 0
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
cmp byte [eax + edi], 0x54
jne 0x45282e
mov eax, dword [ebp + 0x28]
mov edi, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
movzx eax, byte [edi]
push dword [ebp + 0x24]
movzx eax, byte [eax + 0x46f020]
push dword [ebp + 0x20]
add eax, edi
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x452809
cmp eax, 0xfffffc1c
jne 0x453ace
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
cmp byte [eax + edi], 0x54
mov dword [ebp + 0xc], edi
je 0x4527d1
cmp dword [ebp + 0x24], 0
jne 0x452a86
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x46f020]
add dword [ebp + 0xc], eax
jmp 0x45289f
push 2
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0x18]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
mov eax, dword [ebp - 0x24]
jmp 0x44f8c5
inc eax
push eax
push edi
push dword [ebp + 0x20]
push dword [ebp - 0x24]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0x18]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
add dword [ebp + 0xc], 3
and dword [ebp + 0x24], 0
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x44f12c
inc dword [esi]
push 0xfffffffffffffff8
jmp 0x453acd
push 0xffffffffffffffeb
jmp 0x453acd
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [edi]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x46f020]
push dword [ebp + 0x1c]
add eax, edi
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
mov eax, 0xfffffc1a
jmp 0x453ace
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [edi]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x46f020]
push dword [ebp + 0x1c]
add eax, edi
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
mov eax, 0xfffffc19
jmp 0x453ace
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [edi]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x46f020]
push dword [ebp + 0x1c]
add eax, edi
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
mov dword [esi + 0x6c], ebx
mov eax, 0xfffffc1b
jmp 0x453ace
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
movzx eax, byte [edi]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x46f020]
push dword [ebp + 0x1c]
add eax, edi
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
mov eax, 0xfffffc1c
jmp 0x453ace
mov eax, dword [esi + 0xc]
mov edi, ecx
mov ecx, dword [eax + edi*4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + edi*4 + 4]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp + 0x18]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov ecx, dword [esi + 0x80]
mov dword [ebp - 0x28], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x64]
cmp dword [ebp - 0x10], 0x62
mov dword [eax], ecx
jne 0x4529f6
mov dword [ebp + 0x24], 2
jmp 0x4529fa
and dword [ebp + 0x24], 0
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
mov eax, dword [ebp + 0xc]
push dword [ebp + 0x24]
movzx ecx, byte [eax]
push dword [ebp + 0x20]
movzx ecx, byte [ecx + 0x46f020]
push dword [ebp + 0x1c]
add ecx, eax
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x452a3c
cmp eax, 0xfffffc1c
jne 0x453ace
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x80], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
mov dword [ebp + 0xc], eax
je 0x452a01
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov dword [eax + edi*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + edi*4 + 4], ecx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x18]
mov ecx, dword [esi + 0xc]
mov dword [ecx + eax*4], edx
jmp case.0x44f17b.111
mov eax, dword [ebp + 0x28]
inc eax
push eax
push dword [ebp + 0x24]
mov eax, dword [ebp + 0xc]
push dword [ebp + 0x20]
movzx ecx, byte [eax]
push dword [ebp + 0x1c]
movzx ecx, byte [ecx + 0x46f020]
push esi
push dword [ebp + 0x14]
add ecx, eax
push dword [ebp + 0x10]
push ecx
push ebx
call fcn.0044f109
add esp, 0x24
jmp 0x453ace
mov eax, dword [ebp + 0x10]
cmp ebx, eax
jne 0x452adf
cmp dword [esi + 0x50], ecx
jne case.0x44f17b.111
cmp dword [esi + 0x54], ecx
je 0x452adf
mov ecx, dword [esi + 0x84]
add ecx, dword [esi + 0x64]
cmp eax, ecx
je case.0x44f17b.111
mov ecx, dword [ebp + 0x14]
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], ebx
xor eax, eax
inc eax
jmp 0x453ace
mov eax, dword [ebp + 0xc]
movzx edi, byte [eax + 1]
movzx edx, byte [eax + 2]
mov ecx, dword [esi + 0x60]
shl edi, 8
or edi, edx
add edi, ecx
cmp edi, ecx
jne 0x452b12
and dword [ebp - 0x40], 0
jmp 0x452b22
movzx ecx, byte [edi + 3]
movzx edx, byte [edi + 4]
shl ecx, 8
or ecx, edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [esi + 0x90]
add eax, 3
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x44]
mov dword [esi + 0x90], ecx
mov dword [ebp - 0x30], eax
cmp eax, 0x1e
jg 0x452b50
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x34], ecx
jmp 0x452b6c
shl eax, 2
push eax
call dword [0x47a490]
pop ecx
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x452b69
push 0xfffffffffffffffa
jmp 0x453acd
mov eax, dword [ebp - 0x30]
shl eax, 2
push eax
push dword [esi + 0xc]
push dword [ebp - 0x34]
call fcn.00454ef0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x2c], eax
mov al, byte [edi]
add esp, 0xc
cmp al, 0x61
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 2
mov dword [ebp + 0x24], ecx
mov ecx, dword [ebp + 0x28]
inc ecx
mov dword [ebp - 0x18], ecx
push dword [ebp - 0x18]
movzx eax, al
push dword [ebp + 0x24]
movzx eax, byte [eax + 0x46f020]
push dword [ebp + 0x20]
add eax, edi
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push ebx
push eax
push ebx
call fcn.0044f109
add esp, 0x24
mov dword [ebp + 0x18], eax
cmp eax, 1
je 0x452c38
test eax, eax
je 0x452bde
cmp eax, 0xfffffc1c
jne 0x452c5f
lea eax, [ebp - 0x44]
mov dword [esi + 0x90], eax
mov eax, dword [ebp - 0x30]
shl eax, 2
push eax
push dword [ebp - 0x34]
push dword [esi + 0xc]
call fcn.00454ef0
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
mov al, byte [edi]
add esp, 0xc
cmp al, 0x54
je 0x452ba0
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x90], eax
lea eax, [ebp - 0x124]
cmp dword [ebp - 0x34], eax
je case.0x44f17b.111
push dword [ebp - 0x34]
call dword [0x47a494]
pop ecx
jmp case.0x44f17b.111
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x90], eax
lea eax, [ebp - 0x124]
cmp dword [ebp - 0x34], eax
je 0x452aeb
push dword [ebp - 0x34]
call dword [0x47a494]
pop ecx
jmp 0x452aeb
lea eax, [ebp - 0x124]
cmp dword [ebp - 0x34], eax
je 0x452c74
push dword [ebp - 0x34]
call dword [0x47a494]
pop ecx
mov eax, dword [ebp + 0x18]
jmp 0x453ace
mov eax, dword [ebp + 0x28]
inc eax
push eax
push edi
push dword [ebp + 0x20]
push dword [ebp - 0x24]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0x18]
jmp 0x452aab
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x7c], eax
jmp 0x452ae8
mov ecx, dword [esi + 0x78]
test ecx, ecx
je case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jb case.0x44f17b.111
cmp ebx, dword [ebp + 0x10]
jbe case.0x44f17b.111
xor eax, eax
inc eax
mov dword [esi + 0x58], eax
cmp ecx, eax
jmp 0x44febf
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
push dword [ebp + 0x1c]
mov edx, dword [ebp - 0xc]
push dword [ebp - 0x10]
mov eax, esi
mov ecx, ebx
call fcn.0044f0a5
pop ecx
pop ecx
test eax, eax
je 0x452ca2
add ebx, dword [ebp - 0xc]
inc dword [ebp + 0x18]
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x452ccc
jmp 0x453ace
mov dword [ebp - 0x18], ebx
cmp edi, dword [ebp - 8]
jge 0x452d6e
push dword [ebp + 0x1c]
mov edx, dword [ebp - 0xc]
push dword [ebp - 0x10]
mov eax, esi
mov ecx, ebx
call fcn.0044f0a5
pop ecx
pop ecx
test eax, eax
je 0x452d46
add ebx, dword [ebp - 0xc]
inc edi
cmp edi, dword [ebp - 8]
jl 0x452d23
jmp 0x452d65
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x452d65
cmp ebx, dword [esi + 0x68]
jb 0x452d65
cmp ebx, dword [ebp + 0x10]
jbe 0x452d65
xor eax, eax
inc eax
mov dword [esi + 0x58], eax
cmp ecx, eax
jg 0x44fec5
cmp ebx, dword [ebp - 0x18]
jb case.0x44f17b.111
mov edi, dword [ebp + 0x28]
inc edi
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
sub ebx, dword [ebp - 0xc]
cmp ebx, dword [ebp - 0x18]
jae 0x452d72
jmp case.0x44f17b.111
mov eax, dword [esi + 0x78]
test eax, eax
je case.0x44f17b.111
cmp ebx, dword [ebp + 0x10]
jbe case.0x44f17b.111
jmp 0x44feba
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edi, byte [ebx]
inc ebx
cmp edi, 0xc0
jb 0x452e16
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edi, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edi, cl
test eax, eax
jle 0x452e16
jmp 0x452e00
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ebx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
dec eax
mov dword [ebp - 0x28], ecx
or edi, edx
inc ebx
test eax, eax
jg 0x452dfd
cmp edi, 0xff
jbe 0x452e24
cmp dword [ebp - 0x10], 0x4e
jmp 0x452e39
xor eax, eax
mov ecx, edi
and ecx, 7
inc eax
shl eax, cl
mov ecx, dword [ebp - 0x1c]
shr edi, 3
mov cl, byte [edi + ecx]
test cl, al
je case.0x44f17b.111
inc dword [ebp + 0x18]
push dword [ebp - 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x452dbc
jmp 0x453ace
inc eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x452eae
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edi, byte [ebx]
xor eax, eax
mov ecx, edi
and ecx, 7
inc eax
shl eax, cl
mov ecx, dword [ebp - 0x1c]
shr edi, 3
mov cl, byte [edi + ecx]
inc ebx
test cl, al
je case.0x44f17b.111
inc dword [ebp + 0x18]
push dword [ebp - 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x452e74
jmp 0x453ace
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x20], eax
je 0x452fda
mov dword [ebp + 0x18], edi
cmp edi, dword [ebp - 8]
jge 0x452f98
xor ecx, ecx
inc ecx
mov eax, ecx
cmp ebx, dword [esi + 0x68]
jae 0x452f81
movzx edi, byte [ebx]
cmp edi, 0xc0
jb 0x452f49
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edi, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edi, cl
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 1
cmp eax, 1
jl 0x452f48
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + ebx]
and eax, 0x3f
sub ecx, 6
shl eax, cl
or edi, eax
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x24], eax
jle 0x452f2c
inc eax
cmp edi, 0xff
jbe 0x452f57
cmp dword [ebp - 0x10], 0x4e
jmp 0x452f6c
xor edx, edx
mov ecx, edi
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x1c]
shr edi, 3
mov cl, byte [edi + ecx]
test cl, dl
je 0x452f98
add ebx, eax
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x452eea
jmp 0x452f98
mov eax, dword [esi + 0x78]
test eax, eax
je 0x452f98
cmp ebx, dword [ebp + 0x10]
jbe 0x452f98
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x452fb5
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x18]
je case.0x44f17b.111
jmp 0x452fad
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x452fac
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x452f9e
jmp 0x453ace
mov eax, edi
cmp edi, dword [ebp - 8]
jge 0x45302c
cmp ebx, dword [esi + 0x68]
jae 0x453009
movzx edi, byte [ebx]
xor edx, edx
mov ecx, edi
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x1c]
shr edi, 3
mov cl, byte [edi + ecx]
test cl, dl
je 0x453023
inc ebx
inc eax
cmp eax, dword [ebp - 8]
jl 0x452fe1
jmp 0x453023
mov eax, dword [esi + 0x78]
test eax, eax
je 0x453023
cmp ebx, dword [ebp + 0x10]
jbe 0x453023
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
cmp ebx, dword [ebp - 0x18]
jb case.0x44f17b.111
mov edi, dword [ebp + 0x28]
inc edi
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
dec ebx
cmp ebx, dword [ebp - 0x18]
jae 0x453030
jmp case.0x44f17b.111
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x14], eax
je 0x4530bc
cmp eax, 0xc0
jb 0x4530bc
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
mov edx, dword [eax*4 + 0x46f0c8]
and edx, dword [ebp - 0x14]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x14], edx
jmp 0x4530b8
movzx edx, byte [ebx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
dec eax
or dword [ebp - 0x14], edx
inc ebx
test eax, eax
jg 0x4530a8
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.00454c02
pop ecx
test eax, eax
je case.0x44f17b.111
inc dword [ebp + 0x18]
push dword [ebp - 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x45305f
jmp 0x453ace
mov dword [ebp - 0x18], ebx
cmp edi, dword [ebp - 8]
jge 0x453197
xor edi, edi
inc edi
cmp ebx, dword [esi + 0x68]
jae 0x45317d
cmp dword [ebp - 0x20], 0
movzx edx, byte [ebx]
je 0x453160
cmp edx, 0xc0
jb 0x453160
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp - 0x24], edi
cmp eax, edi
jl 0x45315d
mov edi, dword [ebp - 0x24]
movzx edi, byte [edi + ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
or edx, edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x453144
lea edi, [eax + 1]
mov eax, dword [ebp - 0x1c]
push edx
call fcn.00454c02
pop ecx
test eax, eax
je 0x453197
add ebx, edi
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jl 0x45310a
jmp 0x453197
mov eax, dword [esi + 0x78]
test eax, eax
je 0x453197
cmp ebx, dword [ebp + 0x10]
jbe 0x453197
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fec5
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x4531ba
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x18]
je case.0x44f17b.111
cmp dword [ebp - 0x20], 0
je 0x4531ba
jmp 0x4531b2
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x4531b1
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x45319d
jmp 0x453ace
mov eax, dword [esi + 0x78]
test eax, eax
je case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jb case.0x44f17b.111
jmp 0x44feae
mov dword [ebp + 0x18], edi
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x453238
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
mov eax, dword [esi + 0x68]
sub eax, dword [ebp - 0xc]
cmp ebx, eax
ja 0x452ca2
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push ebx
call fcn.00455a73
add esp, 0xc
test eax, eax
jne 0x452ca2
add ebx, dword [ebp - 0xc]
inc dword [ebp + 0x18]
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x453201
jmp 0x453ace
cmp ebx, dword [ebp - 0x18]
je case.0x44f17b.111
sub ebx, dword [ebp - 0xc]
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x45325d
jmp 0x453ace
mov dword [ebp + 0x18], edi
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x4532c3
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x30]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x14], eax
jne case.0x44f17b.111
inc dword [ebp + 0x18]
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x453297
jmp 0x453ace
mov dword [ebp + 0x18], edi
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x453316
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x14], eax
jne case.0x44f17b.111
inc dword [ebp + 0x18]
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x4532f1
jmp 0x453ace
mov dword [ebp + 0x18], edi
cmp dword [ebp - 0x20], ecx
je 0x4533ee
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x18], eax
push ecx
jmp 0x4533c8
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xc0
jb 0x4533a8
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x4533a1
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x24]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x24], edx
test eax, eax
jg 0x45338f
cmp edx, 0x100
jae 0x4533b7
mov eax, dword [esi + 0x30]
movzx edx, byte [eax + edx]
cmp dword [ebp - 0x14], edx
je case.0x44f17b.111
push dword [ebp - 0x18]
inc dword [ebp + 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x453352
jmp 0x453ace
mov edi, dword [ebp + 0x28]
inc edi
push edi
push ecx
jmp 0x453425
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x30]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x14], eax
je case.0x44f17b.111
inc dword [ebp + 0x18]
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x4533f6
jmp 0x453ace
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x18]
je case.0x44f17b.111
jmp 0x453456
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x453455
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x453447
jmp 0x453ace
mov dword [ebp + 0x18], edi
cmp dword [ebp - 0x20], edx
je 0x453527
mov eax, dword [ebp + 0x28]
inc eax
push eax
mov dword [ebp - 0x18], eax
push edx
jmp 0x453501
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xc0
jb 0x4534f0
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0e0]
and edx, dword [eax*4 + 0x46f0c8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x4534e9
movzx edi, byte [ebx]
mov edx, dword [ebp - 0x24]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec eax
or edx, edi
inc ebx
mov dword [ebp - 0x24], edx
test eax, eax
jg 0x4534d7
cmp dword [ebp - 0x14], edx
je case.0x44f17b.111
push dword [ebp - 0x18]
inc dword [ebp + 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x45349a
jmp 0x453ace
mov edi, dword [ebp + 0x28]
inc edi
push edi
push edx
jmp 0x453557
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
cmp ebx, dword [esi + 0x68]
jae 0x44fea3
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x14], eax
je case.0x44f17b.111
inc dword [ebp + 0x18]
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x45352f
jmp 0x453ace
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x18]
je case.0x44f17b.111
jmp 0x453588
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x453587
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x453579
jmp 0x453ace
push 0xfffffffffffffff2
jmp 0x453acd
mov eax, dword [esi + 0x78]
test eax, eax
je case.0x44f17b.111
cmp ebx, dword [ebp + 0x10]
jbe case.0x44f17b.111
mov dword [esi + 0x58], edx
cmp eax, edx
jmp 0x44febf
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
cmp dword [ebp - 0x20], edx
je 0x453902
mov eax, dword [ebp + 0x28]
inc eax
push eax
push edx
push dword [ebp + 0x20]
mov dword [ebp - 0x18], eax
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
jne 0x453ace
mov edi, pe_nt_image_headers32
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
cmp dword [ebp - 0x10], 0xc
jne 0x45367c
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x453657
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
jne case.0x44f17b.111
jmp 0x45367c
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x45367c
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x45367c
cmp ecx, 1
je case.0x44f17b.111
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je case.0x44f17b.111
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
jb 0x4536c5
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0e0]
and eax, dword [edx*4 + 0x46f0c8]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
test edx, edx
jle 0x4536c0
jmp 0x4536aa
mov ecx, dword [ebp - 0x28]
movzx edi, byte [ebx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec edx
mov dword [ebp - 0x28], ecx
or eax, edi
inc ebx
test edx, edx
jg 0x4536a7
mov edi, pe_nt_image_headers32
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x453983.15
jmp dword [ecx*4 + 0x453d69]
cmp eax, 0xa
je case.0x4536d4.12
jbe case.0x44f17b.111
cmp eax, 0xc
jbe 0x453711
cmp eax, 0xd
je 0x453720
cmp eax, 0x85
je 0x453711
cmp eax, 0x2027
jbe case.0x44f17b.111
cmp eax, 0x2029
ja case.0x44f17b.111
cmp dword [esi + 0x5c], 0
jne case.0x44f17b.111
jmp case.0x4536d4.12
cmp ebx, dword [esi + 0x68]
jae case.0x4536d4.12
cmp byte [ebx], 0xa
jne case.0x4536d4.12
inc ebx
jmp case.0x4536d4.12
mov ecx, 0x180e
cmp eax, ecx
ja 0x45376e
je case.0x44f17b.111
cmp eax, 9
je case.0x44f17b.111
cmp eax, 0x20
je case.0x44f17b.111
cmp eax, 0xa0
je case.0x44f17b.111
cmp eax, 0x1680
jmp 0x4538ce
cmp eax, 0x2000
jb case.0x4536d4.12
cmp eax, 0x200a
jbe case.0x44f17b.111
cmp eax, 0x202f
je case.0x44f17b.111
cmp eax, 0x205f
je case.0x44f17b.111
cmp eax, 0x3000
jmp 0x4538ce
mov ecx, 0x180e
cmp eax, ecx
ja 0x4537da
je case.0x4536d4.12
cmp eax, 9
je case.0x4536d4.12
cmp eax, 0x20
je case.0x4536d4.12
cmp eax, 0xa0
je case.0x4536d4.12
cmp eax, 0x1680
jmp 0x453715
cmp eax, 0x2000
jb case.0x44f17b.111
cmp eax, 0x200a
jbe case.0x4536d4.12
cmp eax, 0x202f
je case.0x4536d4.12
cmp eax, 0x205f
je case.0x4536d4.12
cmp eax, 0x3000
jmp 0x453715
cmp eax, 0xa
jb case.0x4536d4.12
cmp eax, 0xd
jbe case.0x44f17b.111
cmp eax, 0x85
je case.0x44f17b.111
cmp eax, 0x2027
jbe case.0x4536d4.12
cmp eax, 0x2029
jbe case.0x44f17b.111
jmp case.0x4536d4.12
cmp eax, 0xa
jb case.0x44f17b.111
cmp eax, 0xd
jbe case.0x4536d4.12
cmp eax, 0x85
je case.0x4536d4.12
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x44f17b.111
jmp case.0x4536d4.12
cmp eax, edi
jae case.0x4536d4.12
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 4
jmp 0x453715
cmp eax, edi
jae case.0x44f17b.111
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 4
jmp 0x4538ce
cmp eax, edi
jae case.0x4536d4.12
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 1
jmp 0x453715
cmp eax, edi
jae case.0x44f17b.111
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 1
jmp 0x4538ce
cmp eax, edi
jae case.0x4536d4.12
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 0x10
jmp 0x453715
cmp eax, edi
jae case.0x44f17b.111
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 0x10
je case.0x44f17b.111
push dword [ebp - 0x18]
inc dword [ebp + 0x18]
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x453618
jmp 0x453ace
mov edi, dword [ebp + 0x28]
inc edi
push edi
push edx
jmp 0x453a6f
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp - 8]
jge case.0x44f17b.111
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44fea3
cmp dword [ebp - 0x10], 0xc
jne 0x453970
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x45394b
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call fcn.0045481c
add esp, 0x10
test eax, eax
jne case.0x44f17b.111
jmp 0x453970
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x453970
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x453970
cmp ecx, 1
je case.0x44f17b.111
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je case.0x44f17b.111
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebx]
add ecx, 0xfffffffa
inc ebx
cmp ecx, 0xf
ja case.0x453983.15
jmp dword [ecx*4 + 0x453da9]
cmp eax, 0xa
je case.0x453983.12
jbe case.0x44f17b.111
cmp eax, 0xc
jbe 0x4539ae
cmp eax, 0xd
je 0x4539bd
cmp eax, 0x85
jne case.0x44f17b.111
cmp dword [esi + 0x5c], 0
jne case.0x44f17b.111
jmp case.0x453983.12
cmp ebx, dword [esi + 0x68]
jae case.0x453983.12
cmp byte [ebx], 0xa
jne case.0x453983.12
inc ebx
jmp case.0x453983.12
cmp eax, 9
je case.0x44f17b.111
cmp eax, 0x20
je case.0x44f17b.111
cmp eax, 0xa0
jmp 0x453a63
cmp eax, 9
je case.0x453983.12
cmp eax, 0x20
je case.0x453983.12
cmp eax, 0xa0
jmp 0x4539b2
cmp eax, 0xa
jb case.0x453983.12
cmp eax, 0xd
jbe case.0x44f17b.111
cmp eax, 0x85
jmp 0x453a63
cmp eax, 0xa
jb case.0x44f17b.111
cmp eax, 0xd
jbe case.0x453983.12
cmp eax, 0x85
jmp 0x4539b2
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 4
jmp 0x4539b2
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 4
jmp 0x453a63
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 1
jmp 0x4539b2
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 1
jmp 0x453a63
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 0x10
jmp 0x4539b2
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 0x10
je case.0x44f17b.111
inc dword [ebp + 0x18]
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x45390d
jmp 0x453ace
mov eax, ebx
dec ebx
cmp eax, dword [ebp - 0x18]
je case.0x44f17b.111
jmp 0x453aa1
dec ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x453aa0
push edi
push 0
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0044f109
add esp, 0x24
test eax, eax
je 0x453a92
jmp 0x453ace
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret