Function at 0x45047f
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov al, 1
jmp 0x403307
pop esi
pop ebx
leave
ret 4
invalid
mov eax, dword [ebp + 0x28]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x4526aa
test byte [ebp + 0x24], 2
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x24], eax
je 0x44ef46
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.0x44ef6c.15
movzx edx, byte [eax + 0x4539e6]
jmp dword [edx*4 + 0x4538c6]
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 0x44f024
mov ecx, dword [0x490dc0]
test ecx, ecx
je 0x44f01e
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.0x44ef6c.111
js 0x4538bf
add edi, 6
mov dword [ebp + 0xc], edi
lea eax, [edi + 3]
movzx edx, byte [eax]
cmp edx, 0x66
je 0x44f1f2
cmp edx, 0x67
je 0x44f1f2
cmp edx, 0x64
je 0x44f09c
cmp edx, 0x65
je 0x44f09c
cmp edx, 0x68
jne 0x44f062
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 0x44f1dd
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 0x49d372
add esp, 0x24
cmp eax, 1
je 0x45251e
test eax, eax
je 0x44f097
cmp eax, 0xfffffc1c
jne 0x4538bf
add edi, dword [ebp + 0x18]
jmp 0x44f05a
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 0x44f0bd
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x44f267
xor edi, edi
cmp edx, 0x65
jne 0x44f1c2
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 0x44f0fd
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [ebp - 0x1c]
je 0x44f0fd
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 0x44f0db
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x20]
jge 0x44f1c2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
cmp eax, dword [esi + 0x28]
jbe 0x44f15d
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 0x4a70c9
pop ecx
pop ecx
test eax, eax
jne 0x44f15d
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 0x44f156
mov edx, dword [esi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x44f267
xor edi, edi
cmp ecx, dword [esi + 0x28]
ja 0x44f114
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 0x44f1c2
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]
outsd dx, dword [esi]
cli
sahf
add byte [eax], al
pop ecx
pop ecx
test eax, eax
jne 0x44f1c2
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 0x44f1b5
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x44f267
xor edi, edi
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x20]
jl 0x44f177
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 0x45254e
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x54
je 0x45254e
add dword [ebp + 0xc], 3
jmp 0x44ef46
mov ecx, dword [esi + 0x90]
test ecx, ecx
je 0x44f04b
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 0x44f267
cmp eax, dword [ecx + 4]
je 0x44f267
xor edi, edi
cmp edx, 0x67
jne 0x44f1c2
mov eax, dword [esi + 0x28]
and dword [ebp + 0x18], edi
mov dword [ebp - 0x18], eax
cmp dword [esi + 0x20], edi
jle 0x44f253
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
cmp ecx, dword [ebp - 0x1c]
je 0x44f253
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 0x44f231
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 0x20]
jge 0x44f1c2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x44f2b0
xor edi, edi
inc edi
push 3
pop eax
jmp 0x44f1d2
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 0x4a7227
pop ecx
pop ecx
test eax, eax
jne 0x44f2b5
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 0x44f26a
cmp eax, dword [esi + 0x28]
ja 0x44f272
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 0x44f1c2
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]
retf
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 0x44f34c
mov dword [esi + 0x38], 1
jmp 0x44f1e9
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 0x44f1e9
add edx, 2
mov dword [ebp + 0x14], edx
jmp 0x44f1e9
mov edi, dword [esi + 0x90]
xor ecx, ecx
cmp edi, ecx
je 0x4528aa
cmp dword [edi + 4], ecx
jne 0x4528aa
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 0x4a8c09
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 0x44ef46
movzx eax, byte [edi + 1]
mov dword [ebp + 0x1c], eax
add edi, 2
jmp 0x44f4c1
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 0x49d6f7
add esp, 0x24
cmp eax, 1
je 0x44f42c
test eax, eax
je 0x44f418
cmp eax, 0xfffffc1c
jne 0x4538bf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f3e6
cmp byte [edi], 0x55
je case.0x44ef6c.111
test byte [ebp + 0x24], 1
jne 0x4528dc
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f43f
mov eax, dword [esi + 0x7c]
add edi, 3
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x14], eax
jmp 0x44ef46
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 0x49d77f
add esp, 0x24
cmp eax, 1
je case.0x44ef6c.111
test eax, eax
je 0x44f4a0
cmp eax, 0xfffffc1c
jne 0x4538bf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f46e
test byte [ebp + 0x24], 1
jne 0x4528dc
add edi, 3
mov dword [ebp + 0xc], edi
jmp 0x44ef46
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
cmp dword [ebp - 0x20], 0
je 0x44f4ff
or eax, ecx
jle 0x44f508
mov edi, dword [esi + 0x64]
dec eax
dec ebx
cmp ebx, edi
jae 0x44f4ef
dec ebx
mov cl, byte [ebx]
and cl, 0xc0
cmp cl, 0x80
je 0x44f4ee
test eax, eax
jg 0x44f4e1
jmp 0x44f508
or eax, ecx
sub ebx, eax
cmp ebx, dword [esi + 0x64]
jb case.0x44ef6c.111
cmp ebx, dword [esi + 0x74]
jae 0x44f1e9
mov dword [esi + 0x74], ebx
jmp 0x44f1e9
mov ecx, dword [0x490dc0]
test ecx, ecx
je 0x44f5ce
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.0x44ef6c.111
js 0x4538bf
add edi, 6
jmp 0x44f4c1
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 0x49d8f8
add esp, 0x24
cmp eax, 1
je 0x44f62d
test eax, eax
je 0x44f619
cmp eax, 0xfffffc1c
jne 0x4538bf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f5e6
mov al, byte [edi]
cmp al, 0x5d
je 0x44f63b
cmp al, 0x54
jne case.0x44ef6c.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 0x44f63b
cmp byte [edi], 0x55
mov eax, dword [esi + 0x7c]
mov ebx, dword [esi + 0x70]
mov dword [ebp + 0x14], eax
je 0x44f4be
cmp ebx, dword [ebp - 0x10]
je 0x44f4be
lea ecx, [edi + 3]
cmp byte [ecx], 0x19
mov dword [ebp - 0x24], ecx
jne 0x44f684
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 0x45263b
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 0x49d99e
add esp, 0x24
test eax, eax
jne 0x4538bf
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x45268c
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.0x44ef6c.84
jmp 0x44f4c1
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 0x49d9ec
add esp, 0x24
test eax, eax
jne 0x4538bf
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x54
je 0x44f701
jmp 0x44f4be
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 0x44f720
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 0x49da48
add esp, 0x24
test eax, eax
jne 0x4538bf
jmp 0x44f4c1
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 0x44f765
add eax, 3
jmp 0x44f3c5
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 0x44f7ab
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 0x44f7af
and dword [ebp - 0x10], 0
cmp al, 0x58
je 0x452a88
cmp al, 0x59
je 0x452a88
cmp al, 0x5a
je 0x452a88
cmp al, 0x5b
je 0x452a88
cmp al, 0x5d
je 0x452a88
cmp al, 0x5f
je 0x44f7e6
cmp al, 0x62
jne 0x44f879
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 0x44f80a
mov dword [esi + 0x38], 1
jmp 0x44f832
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 0x44f832
add ecx, 2
mov dword [ebp + 0x14], ecx
lea ecx, [esi + 0x90]
mov edi, dword [ecx]
test edi, edi
je 0x44f879
cmp dword [edi + 4], eax
jne 0x44f879
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 0x4a392b
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 0x44ef46
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x55
je 0x44f779
cmp ebx, dword [ebp - 0x10]
je 0x44f779
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 0x452664
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 0x49dbc5
add esp, 0x24
test eax, eax
jne 0x4538bf
test edi, edi
jne 0x452a6d
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], eax
jmp 0x452690
cmp dword [esi + 0x3c], 0
je 0x44f8fc
cmp ebx, dword [esi + 0x64]
je case.0x44ef6c.111
test byte [ebp + 0x1c], 2
je case.0x44ef6c.1
mov ecx, dword [esi + 0x64]
cmp ebx, ecx
je 0x44f96b
cmp ebx, dword [esi + 0x68]
je case.0x44ef6c.111
mov eax, dword [esi + 0x18]
test eax, eax
je 0x44f93e
cmp ebx, ecx
jbe case.0x44ef6c.111
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push ecx
push eax
mov edx, ebx
call 0x4a33f9
add esp, 0x10
test eax, eax
je case.0x44ef6c.111
jmp 0x44f96b
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb case.0x44ef6c.111
mov edi, ebx
sub edi, eax
mov cl, byte [edi]
cmp cl, byte [esi + 0x2c]
jne case.0x44ef6c.111
cmp eax, 1
je 0x44f96b
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
jne case.0x44ef6c.111
inc dword [ebp + 0xc]
jmp 0x44ef46
cmp ebx, dword [esi + 0x64]
jne case.0x44ef6c.111
inc edi
jmp 0x44f4c1
mov eax, dword [esi + 0x84]
add eax, dword [esi + 0x64]
cmp ebx, eax
jmp 0x44f976
mov dword [ebp + 0x10], ebx
jmp 0x44f97c
test byte [ebp + 0x1c], 2
je 0x44f9ee
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae 0x44f9e8
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44f9c3
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call 0x4a33bf
add esp, 0x10
test eax, eax
je case.0x44ef6c.111
jmp 0x44f97c
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja case.0x44ef6c.111
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne case.0x44ef6c.111
cmp ecx, 1
je 0x44f97c
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
jmp 0x44f976
cmp dword [esi + 0x40], 0
jmp 0x44f976
cmp dword [esi + 0x40], 0
jne case.0x44ef6c.111
cmp dword [esi + 0x4c], 0
jne case.0x44ef6c.24
mov eax, dword [esi + 0x68]
cmp ebx, eax
je 0x44f96b
mov ecx, dword [esi + 0x18]
test ecx, ecx
jne 0x44fa47
lea edi, [esi + 0x1c]
mov ecx, dword [edi]
sub eax, ecx
cmp ebx, eax
ja case.0x44ef6c.111
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne case.0x44ef6c.111
cmp ecx, 1
je 0x44fa3b
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
jne case.0x44ef6c.111
mov eax, dword [esi + 0x68]
sub eax, dword [edi]
cmp ebx, eax
jmp 0x44f965
cmp ebx, eax
jae case.0x44ef6c.111
push dword [ebp - 0x20]
lea edi, [esi + 0x1c]
push edi
push eax
push ecx
call 0x4a3466
add esp, 0x10
test eax, eax
je case.0x44ef6c.111
jmp 0x44fa3b
cmp ebx, dword [esi + 0x68]
jb case.0x44ef6c.111
jmp 0x44f97c
cmp dword [ebp - 0x20], 0
je 0x44fb80
cmp ebx, dword [esi + 0x64]
je 0x44fb0f
lea eax, [ebx - 1]
mov ecx, 0xc0
jmp 0x44fa96
dec eax
mov dl, byte [eax]
and dl, cl
cmp dl, 0x80
je 0x44fa95
cmp eax, dword [esi + 0x74]
jae 0x44faa7
mov dword [esi + 0x74], eax
movzx edi, byte [eax]
cmp edi, ecx
jb 0x44faf9
mov ecx, edi
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0f0]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0x10], edx
mov edx, dword [edx*4 + 0x46f0d8]
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 0x44faf9
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 0x44fadb
mov edi, dword [ebp - 0x14]
cmp edi, 0x100
jae 0x44fb0f
mov eax, dword [esi + 0x34]
test byte [edi + eax], 0x10
je 0x44fb0f
xor edi, edi
inc edi
jmp 0x44fb11
xor edi, edi
mov dword [ebp - 0x10], edi
cmp ebx, dword [esi + 0x68]
jae 0x44fbaa
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x44fb6a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
mov dword [ebp + 0x18], 1
cmp eax, 1
jl 0x44fb67
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 0x44fb4e
mov edi, dword [ebp - 0x10]
cmp edx, 0x100
jae 0x44fbc4
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
je 0x44fbc4
xor eax, eax
inc eax
jmp 0x44fbd8
cmp ebx, dword [esi + 0x64]
jne 0x44fb89
xor edi, edi
jmp 0x44fba5
cmp ebx, dword [esi + 0x74]
ja 0x44fb94
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 0x44fbc8
mov eax, dword [esi + 0x78]
test eax, eax
je 0x44fbc4
cmp ebx, dword [ebp + 0x10]
jbe 0x44fbc4
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
jg 0x44fcb6
xor eax, eax
jmp 0x44fbd8
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 0x44fbee
xor ecx, ecx
cmp eax, edi
sete cl
jmp 0x44fbf5
xor ecx, ecx
cmp eax, edi
setne cl
mov eax, ecx
test eax, eax
je 0x44ef46
jmp case.0x44ef6c.111
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x44fc2d
mov eax, dword [esi + 0x68]
cmp ebx, eax
jae case.0x44ef6c.13
push dword [ebp - 0x20]
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
call 0x4a3629
add esp, 0x10
test eax, eax
jne case.0x44ef6c.111
jmp case.0x44ef6c.13
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x68]
sub ecx, eax
cmp ebx, ecx
ja case.0x44ef6c.13
mov cl, byte [ebx]
cmp cl, byte [esi + 0x2c]
jne case.0x44ef6c.13
cmp eax, 1
je case.0x44ef6c.111
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je case.0x44ef6c.111
mov eax, dword [esi + 0x68]
mov ecx, ebx
inc ebx
cmp ecx, eax
jae 0x44fc94
cmp dword [ebp - 0x20], 0
je 0x44f97c
cmp ebx, eax
jae 0x44f97c
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x44f97c
inc ebx
cmp ebx, dword [esi + 0x68]
jb 0x44fc71
jmp 0x44f97c
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x68]
jb 0x44f97c
mov eax, dword [esi + 0x78]
test eax, eax
je case.0x44ef6c.111
cmp ebx, dword [ebp + 0x10]
jbe case.0x44ef6c.111
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44fd09
cmp edx, 0xc0
jb 0x44fd09
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44fd02
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 0x44fcf0
cmp edx, 0x100
jae 0x44f96b
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
jmp 0x44f965
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44fd71
cmp edx, 0xc0
jb 0x44fd71
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44fd6a
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 0x44fd58
cmp edx, 0x100
jae case.0x44ef6c.111
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
jmp 0x44f936
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44fdd9
cmp edx, 0xc0
jb 0x44fdd9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44fdd2
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 0x44fdc0
cmp edx, 0x100
jae 0x44f96b
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
jmp 0x44f965
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44fe41
cmp edx, 0xc0
jb 0x44fe41
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44fe3a
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 0x44fe28
cmp edx, 0x100
jae case.0x44ef6c.111
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
jmp 0x44f936
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44fea9
cmp edx, 0xc0
jb 0x44fea9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44fea2
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 0x44fe90
cmp edx, 0x100
jae 0x44f96b
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
jmp 0x44f965
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44ff11
cmp edx, 0xc0
jb 0x44ff11
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44ff0a
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 0x44fef8
cmp edx, 0x100
jae case.0x44ef6c.111
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
jmp 0x44f936
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x44ff79
cmp edx, 0xc0
jb 0x44ff79
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x44ff72
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 0x44ff60
cmp edx, 0xa
je 0x44f96b
jbe case.0x44ef6c.111
cmp edx, 0xc
jbe 0x44ffb2
cmp edx, 0xd
je 0x44ffbb
cmp edx, 0x85
je 0x44ffb2
cmp edx, 0x2027
jbe case.0x44ef6c.111
cmp edx, 0x2029
ja case.0x44ef6c.111
cmp dword [esi + 0x5c], 0
jmp 0x44f965
cmp ebx, dword [esi + 0x68]
jae 0x44f96b
cmp byte [ebx], 0xa
jne 0x44f96b
inc ebx
jmp 0x44f96b
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x450026
cmp eax, 0xc0
jb 0x450026
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0f0]
and eax, dword [edx*4 + 0x46f0d8]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
test edx, edx
jle 0x450026
jmp 0x450010
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 0x45000d
mov ecx, 0x180e
cmp eax, ecx
ja 0x45005c
je case.0x44ef6c.111
cmp eax, 9
je case.0x44ef6c.111
cmp eax, 0x20
je case.0x44ef6c.111
cmp eax, 0xa0
je case.0x44ef6c.111
cmp eax, 0x1680
jmp 0x44f936
cmp eax, 0x2000
jb 0x44f96b
cmp eax, 0x200a
jbe case.0x44ef6c.111
cmp eax, 0x202f
je case.0x44ef6c.111
cmp eax, 0x205f
je case.0x44ef6c.111
cmp eax, 0x3000
jmp 0x44f936
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x4500e5
cmp eax, 0xc0
jb 0x4500e5
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0f0]
and eax, dword [edx*4 + 0x46f0d8]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
test edx, edx
jle 0x4500e5
jmp 0x4500cf
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 0x4500cc
mov ecx, 0x180e
cmp eax, ecx
ja 0x45011b
je 0x44f96b
cmp eax, 9
je 0x44f96b
cmp eax, 0x20
je 0x44f96b
cmp eax, 0xa0
je 0x44f96b
cmp eax, 0x1680
jmp 0x44f965
cmp eax, 0x2000
jb case.0x44ef6c.111
cmp eax, 0x200a
jbe 0x44f96b
cmp eax, 0x202f
je 0x44f96b
cmp eax, 0x205f
je 0x44f96b
cmp eax, 0x3000
jmp 0x44f965
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x4501a1
cmp edx, 0xc0
jb 0x4501a1
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x45019a
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 0x450188
cmp edx, 0xa
jb 0x44f96b
cmp edx, 0xd
jbe case.0x44ef6c.111
cmp edx, 0x85
je case.0x44ef6c.111
cmp edx, 0x2027
jbe 0x44f96b
cmp edx, 0x2029
jbe case.0x44ef6c.111
jmp 0x44f96b
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
je 0x45022c
cmp edx, 0xc0
jb 0x45022c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
and edx, dword [eax*4 + 0x46f0d8]
mov ecx, eax
imul ecx, ecx, 6
shl edx, cl
jmp 0x450225
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 0x450213
cmp edx, 0xa
jb case.0x44ef6c.111
cmp edx, 0xd
jbe 0x44f96b
cmp edx, 0x85
je 0x44f96b
cmp edx, 0x2027
jbe case.0x44ef6c.111
cmp edx, 0x2029
ja case.0x44ef6c.111
jmp 0x44f96b
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 0x450297
mov eax, dword [esi + 0xc]
lea eax, [eax + ecx*4]
mov edx, dword [eax]
test edx, edx
js 0x450297
mov edi, dword [eax + 4]
sub edi, edx
jmp 0x4502a4
xor edi, edi
cmp dword [esi + 0x48], edi
jne 0x4502a4
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 0x450380
cmp al, 0x4b
jbe 0x4502fb
cmp al, 0x4d
ja 0x450380
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 0x4502f3
mov dword [ebp - 8], accept
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x450326
inc dword [ebp + 0xc]
movzx eax, al
movsx edi, byte [eax + 0x46fb42]
lea ecx, [eax - 0x46]
movsx eax, byte [eax + 0x46fb4a]
and ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x450326
mov dword [ebp - 8], accept
cmp dword [ebp - 0xc], 0
je 0x44ef46
xor eax, eax
inc eax
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x450361
push dword [ebp + 0x1c]
mov edx, dword [ebp - 0xc]
push dword [ebp - 0x10]
mov eax, esi
mov ecx, ebx
call 0x49e5de
pop ecx
pop ecx
test eax, eax
je 0x452a93
add ebx, dword [ebp - 0xc]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x45033a
cmp edi, dword [ebp - 8]
je 0x44ef46
cmp dword [ebp - 0x18], 0
je 0x452b0c
mov dword [ebp + 0x18], edi
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x452ae7
push dword [ebp + 0x1c]
mov eax, esi
push ecx
mov edx, edi
mov ecx, ebx
call 0x49e621
pop ecx
pop ecx
test eax, eax
je 0x452a93
add ebx, edi
jmp 0x44ef46
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 0x450421
cmp al, 0x4b
jbe 0x4503f4
cmp al, 0x4d
ja 0x450421
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 0x4503ec
mov dword [ebp - 8], accept
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x450427
inc dword [ebp + 0xc]
movzx eax, al
movsx edi, byte [eax + 0x46fb42]
lea ecx, [eax - 0x46]
movsx eax, byte [eax + 0x46fb4a]
and ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x450427
mov dword [ebp - 8], accept
jmp 0x450427
xor edi, edi
inc edi
mov dword [ebp - 8], edi
cmp dword [ebp - 0x20], 0
je 0x4504d2
xor ecx, ecx
inc ecx
mov dword [ebp + 0x18], ecx
cmp edi, ecx
jl 0x45050c
jmp 0x450444
xor ecx, ecx
inc ecx
cmp ebx, dword [esi + 0x68]
jae 0x452b94
daa
add byte [eax], al
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xc0
jb 0x45049c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x46f0f0]
mov ecx, edx
imul ecx, ecx, 6
mov dword [ebp - 0xc], edx
mov edx, dword [edx*4 + 0x46f0d8]
and eax, edx
shl eax, cl
cmp dword [ebp - 0xc], 0
jle 0x45049c
jmp 0x450482
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 fcn.0045047f
cmp eax, 0xff
jbe 0x4504a9
cmp dword [ebp - 0x10], 0x4e
jmp 0x4504be
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.0x44ef6c.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x450441
jmp 0x45050c
xor eax, eax
inc eax
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x45050c
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
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.0x44ef6c.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x4504dc
cmp edi, dword [ebp - 8]
je 0x44ef46
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x452cc3
cmp dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x18], edi
je 0x452c5e
inc eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x403301
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 0x4505c6
cmp al, 0x4b
jbe 0x450599
cmp al, 0x4d
ja 0x4505c6
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 0x450591
mov dword [ebp - 8], accept
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x4505cc
inc dword [ebp + 0xc]
movzx eax, al
movsx edi, byte [eax + 0x46fb42]
lea ecx, [eax - 0x46]
movsx eax, byte [eax + 0x46fb4a]
and ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4505cc
mov dword [ebp - 8], accept
jmp 0x4505cc
xor edi, edi
inc edi
mov dword [ebp - 8], edi
xor eax, eax
inc eax
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x45064a
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x14], eax
je 0x45062e
cmp eax, 0xc0
jb 0x45062e
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
mov edx, dword [eax*4 + 0x46f0d8]
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 0x45062a
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 0x450616
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call 0x4a4428
pop ecx
test eax, eax
je case.0x44ef6c.111
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x4505d6
cmp edi, dword [ebp - 8]
je 0x44ef46
cmp dword [ebp - 0x18], 0
mov dword [ebp + 0x18], edi
je 0x452eef
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x40345e
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x20], 0
je 0x4506d2
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
mov edi, ecx
cmp eax, 0xc0
jb 0x450693
and eax, 0x3f
movzx edi, byte [eax + 0x46f0f0]
inc edi
mov eax, dword [esi + 0x68]
sub eax, ebx
cmp edi, eax
jle 0x4506c9
mov eax, dword [esi + 0x78]
test eax, eax
je case.0x44ef6c.111
cmp ebx, dword [esi + 0x68]
jb case.0x44ef6c.111
jmp 0x452b9f
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.0x44ef6c.111
test edi, edi
jg 0x4506b5
jmp 0x144ef46
mov eax, dword [esi + 0x68]
sub eax, ebx
cmp eax, ecx
jl 0x452b94
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jne case.0x44ef6c.111
jmp 0x44f3d4
cmp dword [ebp - 0x20], 0
je 0x4507e2
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 0x450764
mov eax, edi
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
mov edx, dword [eax*4 + 0x46f0d8]
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 0x45075d
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 0x450740
mov edi, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0xc], eax
mov ecx, dword [esi + 0x68]
sub ecx, ebx
cmp eax, ecx
jg 0x452fd0
cmp dword [ebp - 0x14], 0x80
jae 0x45078f
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 0x44fbf9
movzx eax, byte [ebx]
inc ebx
mov dword [ebp + 0x18], eax
cmp eax, 0xc0
jb 0x4507d1
and eax, 0x3f
movzx edx, byte [eax + 0x46f0f0]
mov eax, dword [edx*4 + 0x46f0d8]
and eax, dword [ebp + 0x18]
mov ecx, edx
imul ecx, ecx, 6
shl eax, cl
mov dword [ebp + 0x18], eax
jmp 0x4507cd
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 0x4507bd
mov eax, dword [ebp - 0xc]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
cmp dword [ebp - 0x14], eax
jmp 0x44fbf9
mov eax, dword [esi + 0x68]
xor ecx, ecx
sub eax, ebx
inc ecx
cmp eax, ecx
jl 0x452b94
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 0x4506e5
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 0x4508a7
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 0x4508a7
mov dword [ebp - 0x1c], 1
xor edi, edi
inc dword [ebp + 0xc]
jmp 0x4508a0
xor edi, edi
inc edi
mov dword [ebp - 0x1c], edi
jmp 0x45085f
xor eax, eax
inc eax
xor edi, edi
inc dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], eax
jmp 0x4508a7
mov eax, dword [ebp - 0x10]
movsx edi, byte [eax + 0x46fb69]
inc dword [ebp + 0xc]
lea ecx, [eax - 0x1f]
movsx eax, byte [eax + 0x46fb71]
and ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
test eax, eax
jne 0x4508a7
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 0x4509de
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], eax
cmp edx, 0xc0
jb 0x450924
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x46f0f0]
mov ecx, eax
imul ecx, ecx, 6
mov dword [ebp - 0xc], eax
mov eax, dword [eax*4 + 0x46f0d8]
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 0x450920
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 0x4508fd
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 0x4509e4
mov dword [ebp + 0x18], eax
cmp edi, eax
jl 0x45096c
mov eax, dword [esi + 0x68]
sub eax, dword [ebp - 0xc]
cmp ebx, eax
ja 0x452fd0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push ebx
call 0x4a55a5
add esp, 0xc
test eax, eax
jne 0x452fd0
add ebx, dword [ebp - 0xc]
inc dword [ebp + 0x18]
cmp dword [ebp + 0x18], edi
jle 0x45093c
cmp edi, dword [ebp - 8]
je 0x44ef46
cmp dword [ebp - 0x18], 0
jne 0x452fe9
mov dword [ebp - 0x18], ebx
jmp 0x4509a5
mov eax, dword [esi + 0x68]
sub eax, dword [ebp - 0xc]
cmp ebx, eax
ja 0x4509ac
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push ebx
call 0x4a55e9
add esp, 0xc
test eax, eax
jne 0x4509ac
add ebx, dword [ebp - 0xc]
inc edi
cmp edi, dword [ebp - 8]
jl 0x450984
jmp 0x4509cb
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x4509cb
cmp ebx, dword [esi + 0x68]
jb 0x4509cb
cmp ebx, dword [ebp + 0x10]
jbe 0x4509cb
xor eax, eax
inc eax
mov dword [esi + 0x58], eax
cmp ecx, eax
jg 0x44fcb6
cmp dword [ebp - 0x1c], 0
jne 0x44ef46
mov edi, dword [ebp + 0x28]
inc edi
jmp 0x45305a
inc dword [ebp + 0xc]
xor eax, eax
inc eax
test byte [ebp + 0x1c], 1
je 0x450ab5
mov eax, dword [esi + 0x30]
movzx ecx, byte [eax + edx]
mov dword [ebp - 0x14], ecx
xor ecx, ecx
inc ecx
cmp edi, ecx
jl 0x450a1e
cmp ebx, dword [esi + 0x68]
jae 0x44fc94
movzx edx, byte [ebx]
movzx edx, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x14], edx
jne case.0x44ef6c.111
inc ecx
cmp ecx, edi
jle 0x4509ff
cmp edi, dword [ebp - 8]
je 0x44ef46
cmp dword [ebp - 0x18], 0
jne 0x45307f
mov dword [ebp - 0x18], ebx
cmp edi, dword [ebp - 8]
jge 0x450a6f
mov ecx, dword [esi + 0x68]
cmp ebx, ecx
jae 0x450a55
movzx edx, byte [ebx]
movzx edx, byte [edx + eax]
cmp dword [ebp - 0x14], edx
jne 0x450a6f
inc ebx
inc edi
cmp edi, dword [ebp - 8]
jl 0x450a3c
jmp 0x450a6f
mov eax, dword [esi + 0x78]
test eax, eax
je 0x450a6f
cmp ebx, dword [ebp + 0x10]
jbe 0x450a6f
xor ecx, ecx
inc ecx
mov dword [esi + 0x58], ecx
cmp eax, ecx
invalid
pop dword [edi - 0xe]
invalid