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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
mov ebx, ecx
xor ecx, ecx
push edi
mov edi, dword [ebx + 0x10]
mov esi, edx
or edx, 0xffffffff
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
xor eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x44], edx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x50], ecx
mov dword [edi + 0x4c], edx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov dword [edi + 0x10], edx
cmp eax, ecx
je 0x445f98
mov edx, edi
sub edx, dword [ebx + 0x10]
mov dword [edi + 0x4c], edx
mov edx, eax
and edx, 0xffff0000
cmp edx, 0x40000
jne 0x445f95
movzx eax, ax
mov dword [edi + 0x44], eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebx + 0x28]
lea ecx, [eax + 1]
mov dword [ebx + 0x28], ecx
cmp eax, dword [ebx + 0x20]
jae 0x448d9e
mov edx, dword [edi + 0x18]
cmp edx, dword [ebx + 0x24]
jae 0x448daa
mov eax, dword [edi]
mov cl, byte [eax]
movzx eax, cl
mov byte [edi + 0x31], cl
cmp eax, 0xa3
ja case.0x44869a.15
movzx edx, byte [eax + 0x448fc4]
jmp dword [edx*4 + 0x448e78]
cmp dword [edi + 0x44], 0xffffffff
jne 0x44603f
mov eax, dword [edi]
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
mov ecx, dword [edi + 0x4c]
shl edx, 8
or edx, eax
cmp ecx, 0xffffffff
je case.0x44869a.15
mov eax, dword [ebx + 0x10]
add eax, ecx
mov esi, edx
mov ecx, eax
sub ecx, dword [ebp + 0x14]
or esi, 0x10000
mov dword [ebp - 0x10], eax
cmp dword [eax + 0x1c], esi
je 0x446019
mov ecx, dword [ecx + 0x4c]
jmp 0x445ff1
mov dword [edi + 0x48], edx
mov ecx, dword [ecx + 0x38]
sub ecx, dword [ebx + 0x58]
lea eax, [edx + edx - 2]
mov dword [edi + eax*4 + 0x54], ecx
mov edx, dword [edi + 0x38]
sub edx, dword [ebx + 0x58]
mov dword [edi + eax*4 + 0x58], edx
cmp eax, dword [edi + 0x50]
jb 0x44603f
add eax, 2
mov dword [edi + 0x50], eax
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x54a400]
add edx, eax
mov dword [edi], edx
jmp 0x445fb6
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x68]
jbe 0x44605f
mov dword [ebx + 0x68], eax
mov dword [ebp - 0x1c], edi
mov esi, 0xfffffc19
jmp case.0x447f0d.35
cmp dword [edi + 0x44], 0xffffffff
je 0x4460bf
mov ecx, dword [edi + 0x4c]
mov edx, dword [ebp + 0x14]
jmp 0x446080
cmp ecx, 0xffffffff
je case.0x44869a.15
mov eax, dword [ebx + 0x10]
add eax, ecx
mov ecx, eax
mov dword [ebp - 0x10], eax
mov eax, dword [eax + 0x1c]
and eax, 0xffff0000
sub ecx, edx
cmp eax, 0x40000
je 0x4460a9
mov ecx, dword [ecx + 0x4c]
jmp 0x446080
mov edx, dword [edi + 0x38]
mov dword [ecx + 0x38], edx
mov eax, dword [edi + 0x40]
add dword [ecx], 3
mov dword [ecx + 0x40], eax
mov edi, ecx
jmp 0x445fb6
mov edx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
cmp esi, edx
jne 0x4460e9
mov eax, dword [ebx + 0x80]
test al, 4
jne case.0x4486b4.14
test al, 8
je 0x4460e9
mov eax, dword [ebx + 0x58]
add eax, dword [ebx + 0x40]
cmp edx, eax
je case.0x4486b4.14
cmp esi, dword [ebx + 0x5c]
jae 0x448db6
mov edx, dword [ebx + 0x84]
or edx, dword [ebx + 0x80]
test edx, 0x20000000
je 0x448db6
test cl, cl
je case.0x4486b4.14
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x44614b
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x5c]
cmp ecx, edx
jae 0x44617f
xor esi, esi
push esi
lea esi, [ebx + 0x94]
push eax
call fcn.004522f0
add esp, 8
test eax, eax
jne case.0x4486b4.14
jmp 0x44617f
mov esi, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x5c]
mov eax, dword [edi + 0x38]
sub ecx, esi
cmp eax, ecx
ja 0x44617f
mov dl, byte [eax]
cmp dl, byte [ebx + 0x98]
jne 0x44617f
cmp esi, 1
je case.0x4486b4.14
mov al, byte [eax + 1]
cmp al, byte [ebx + 0x99]
je case.0x4486b4.14
movzx ecx, word [ebx + 0x48]
test cx, cx
je case.0x445fd2.13
mov edx, dword [ebx + 0x5c]
mov eax, dword [edi + 0x38]
dec edx
cmp eax, edx
jne case.0x445fd2.13
cmp dword [ebx + 0x90], 0
jne case.0x445fd2.13
cmp dword [ebx + 0x94], 2
jne case.0x445fd2.13
mov al, byte [eax]
cmp al, byte [ebx + 0x98]
jne case.0x445fd2.13
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x4461e9
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jb 0x4461f5
movzx ecx, word [ebx + 0x48]
test cx, cx
je case.0x4486b4.14
cmp eax, dword [ebx + 0x64]
jbe case.0x4486b4.14
mov dword [ebx + 0x2c], 1
cmp ecx, 1
jbe case.0x4486b4.14
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
inc eax
mov dword [edi + 0x38], eax
inc dword [edi]
jmp 0x445fb6
mov esi, dword [edi + 0x38]
mov ecx, dword [ebx + 0x5c]
sub ecx, esi
cmp ecx, 1
jge 0x446234
movzx eax, word [ebx + 0x48]
test ax, ax
je case.0x4486b4.14
cmp esi, dword [ebx + 0x64]
jbe case.0x4486b4.14
mov dword [ebx + 0x2c], 1
cmp eax, 1
ja 0x4461e9
jmp case.0x4486b4.14
mov edx, dword [edi]
mov cl, byte [esi]
mov al, byte [edx + 1]
inc esi
mov dword [edi + 0x38], esi
cmp al, cl
je 0x446270
jmp case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
mov edx, dword [edi]
movzx ecx, byte [edx + 1]
mov esi, dword [ebx + 0x34]
movzx edx, byte [eax]
mov cl, byte [ecx + esi]
cmp cl, byte [edx + esi]
jne case.0x4486b4.14
inc eax
mov dword [edi + 0x38], eax
add dword [edi], 2
jmp 0x445fb6
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
mov edx, dword [edi]
movzx ecx, byte [edx + 1]
movzx edx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
cmp ecx, edx
je case.0x4486b4.14
cmp byte [edi + 0x31], 0x20
jne 0x4462ae
mov eax, dword [ebx + 0x38]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x4486b4.14
add dword [edi], 2
jmp 0x445fb6
mov ecx, dword [edi]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add dword [edi], 3
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], eax
jmp 0x4463a5
mov ecx, dword [edi]
mov dword [edi + 0x20], 0
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
or eax, ecx
add dword [edi], 3
mov dword [ebp - 4], 2
mov dword [edi + 0x24], eax
jmp 0x4463a5
mov dword [ebp - 4], 1
mov dword [edi + 0x20], 0
mov ecx, dword [edi]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add dword [edi], 3
mov dword [edi + 0x24], edx
jmp 0x4463a5
xor eax, eax
mov dword [ebp - 4], eax
mov dword [edi + 0x20], eax
jmp 0x446309
inc dword [edi]
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0xffffffff
jmp 0x4463a5
inc dword [edi]
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 1
mov dword [edi + 0x24], 0xffffffff
jmp 0x4463a5
inc dword [edi]
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 1
jmp 0x4463a5
cmp cl, 0x2e
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x2e
sub eax, ecx
inc dword [edi]
mov edx, dword [eax*4 + 0x54a804]
mov dword [edi + 0x20], edx
mov ecx, dword [eax*4 + 0x54a894]
mov dword [edi + 0x24], ecx
mov edx, dword [eax*4 + 0x54a9e0]
mov dword [ebp - 4], edx
mov eax, dword [edi]
movzx ecx, byte [eax]
inc dword [edi]
cmp byte [edi + 0x31], 0x2e
mov dword [edi + 0x28], ecx
jb 0x44648d
mov edx, dword [ebx + 0x38]
mov eax, ecx
movzx ecx, byte [edx + eax]
mov esi, 1
mov dword [edi + 0x2c], ecx
cmp dword [edi + 0x20], esi
jb 0x4463f2
nop
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x446433
movzx edx, byte [ecx]
cmp eax, edx
je 0x4463e8
cmp dword [edi + 0x2c], edx
jne case.0x4486b4.14
inc ecx
inc esi
mov dword [edi + 0x38], ecx
cmp esi, dword [edi + 0x20]
jbe 0x4463d0
mov esi, dword [edi + 0x20]
cmp esi, dword [edi + 0x24]
je 0x445fb6
cmp dword [ebp - 4], 0
je 0x4484c1
mov ecx, dword [edi + 0x38]
mov dword [edi + 4], ecx
cmp esi, dword [edi + 0x24]
jae 0x44646c
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x44644b
movzx edx, byte [ecx]
cmp eax, edx
je 0x446427
cmp dword [edi + 0x2c], edx
jne 0x44646c
inc ecx
inc esi
mov dword [edi + 0x38], ecx
cmp esi, dword [edi + 0x24]
jb 0x446413
jmp 0x44646c
movzx eax, word [ebx + 0x48]
test ax, ax
je case.0x4486b4.14
mov edx, dword [edi + 0x38]
cmp edx, dword [ebx + 0x64]
jmp 0x44621d
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x44646c
mov edx, dword [edi + 0x38]
cmp edx, dword [ebx + 0x64]
jbe 0x44646c
mov dword [ebx + 0x2c], 1
cmp eax, 1
ja 0x4461e9
cmp dword [ebp - 4], 2
je 0x445fb6
mov edx, dword [edi + 0x38]
cmp edx, dword [edi + 4]
je 0x445fb6
mov esi, dword [edi]
mov byte [edi + 0x30], 0x1a
jmp 0x448cd2
mov edx, dword [edi + 0x20]
mov eax, 1
cmp edx, eax
jb 0x4464be
lea esp, [esp]
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x4464fc
movzx esi, byte [ecx]
inc ecx
mov dword [edi + 0x38], ecx
cmp dword [edi + 0x28], esi
jne case.0x4486b4.14
inc eax
cmp eax, dword [edi + 0x20]
jbe 0x4464a0
cmp edx, dword [edi + 0x24]
je 0x445fb6
cmp dword [ebp - 4], 0
je 0x448512
mov eax, dword [edi + 0x38]
mov dword [edi + 4], eax
cmp edx, dword [edi + 0x24]
jae 0x446535
lea esp, [esp]
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x446514
movzx eax, byte [ecx]
cmp dword [edi + 0x28], eax
jne 0x446535
inc ecx
inc edx
mov dword [edi + 0x38], ecx
cmp edx, dword [edi + 0x24]
jb 0x4464e0
jmp 0x446535
movzx eax, word [ebx + 0x48]
test ax, ax
je case.0x4486b4.14
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x64]
jmp 0x44621d
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x446535
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x64]
jbe 0x446535
mov dword [ebx + 0x2c], 1
cmp eax, 1
ja 0x4461e9
cmp dword [ebp - 4], 2
je 0x445fb6
mov eax, dword [edi + 0x38]
cmp eax, dword [edi + 4]
jbe 0x445fb6
mov esi, dword [edi]
mov byte [edi + 0x30], 0x1c
jmp 0x448cd2
mov ecx, dword [edi]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add dword [edi], 3
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], eax
jmp 0x44665d
mov eax, dword [edi]
mov dword [edi + 0x20], 0
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add dword [edi], 3
mov dword [edi + 0x24], ecx
mov dword [ebp - 4], 1
jmp 0x44665d
mov eax, dword [edi]
xor ecx, ecx
mov dword [edi + 0x20], ecx
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
add dword [edi], 3
mov dword [edi + 0x24], edx
mov dword [ebp - 4], ecx
jmp 0x44665d
inc dword [edi]
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0xffffffff
jmp 0x44665d
inc dword [edi]
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 1
mov dword [edi + 0x24], 0xffffffff
jmp 0x44665d
inc dword [edi]
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 1
jmp 0x44665d
mov ecx, dword [edi]
mov dword [edi + 0x20], 0
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add dword [edi], 3
mov dword [ebp - 4], 2
mov dword [edi + 0x24], edx
jmp 0x44665d
cmp cl, 0x48
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x48
sub eax, ecx
inc dword [edi]
mov edx, dword [eax*4 + 0x54a804]
mov dword [edi + 0x20], edx
mov ecx, dword [eax*4 + 0x54a894]
mov dword [edi + 0x24], ecx
mov edx, dword [eax*4 + 0x54a9e0]
mov dword [ebp - 4], edx
mov eax, dword [edi]
movzx ecx, byte [eax]
inc dword [edi]
cmp byte [edi + 0x31], 0x48
mov dword [edi + 0x28], ecx
jb 0x446730
mov edx, dword [ebx + 0x38]
mov eax, ecx
movzx ecx, byte [edx + eax]
mov esi, 1
mov dword [edi + 0x2c], ecx
cmp dword [edi + 0x20], esi
jb 0x4466ba
jmp 0x446690
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x446433
movzx edx, byte [ecx]
cmp eax, edx
je case.0x4486b4.14
cmp dword [edi + 0x2c], edx
je case.0x4486b4.14
inc ecx
inc esi
mov dword [edi + 0x38], ecx
cmp esi, dword [edi + 0x20]
jbe 0x446690
mov esi, dword [edi + 0x20]
cmp esi, dword [edi + 0x24]
je 0x445fb6
cmp dword [ebp - 4], 0
je 0x44856b
mov ecx, dword [edi + 0x38]
mov dword [edi + 4], ecx
cmp esi, dword [edi + 0x24]
jae 0x446721
jmp 0x4466e0
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x446700
movzx edx, byte [ecx]
cmp eax, edx
je 0x446721
cmp dword [edi + 0x2c], edx
je 0x446721
inc ecx
inc esi
mov dword [edi + 0x38], ecx
cmp esi, dword [edi + 0x24]
jb 0x4466e0
jmp 0x446721
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x446721
mov edx, dword [edi + 0x38]
cmp edx, dword [ebx + 0x64]
jbe 0x446721
mov dword [ebx + 0x2c], 1
cmp eax, 1
ja 0x4461e9
cmp dword [ebp - 4], 2
je 0x445fb6
jmp 0x448581
mov edx, dword [edi + 0x20]
mov eax, 1
cmp edx, eax
jb 0x446762
lea esp, [esp]
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x4464fc
movzx esi, byte [ecx]
inc ecx
mov dword [edi + 0x38], ecx
cmp dword [edi + 0x28], esi
je case.0x4486b4.14
inc eax
cmp eax, dword [edi + 0x20]
jbe 0x446740
cmp edx, dword [edi + 0x24]
je 0x445fb6
cmp dword [ebp - 4], 0
je 0x4485ce
mov eax, dword [edi + 0x38]
mov dword [edi + 4], eax
cmp edx, dword [edi + 0x24]
jae 0x4467bd
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x44679c
movzx eax, byte [ecx]
cmp dword [edi + 0x28], eax
je 0x4467bd
inc ecx
inc edx
mov dword [edi + 0x38], ecx
cmp edx, dword [edi + 0x24]
jb 0x446780
jmp 0x4467bd
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x4467bd
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x64]
jbe 0x4467bd
mov dword [ebx + 0x2c], 1
cmp eax, 1
ja 0x4461e9
cmp dword [ebp - 4], 2
je 0x445fb6
jmp 0x4485e4
mov eax, dword [edi]
add dword [edi], 0x21
mov edx, 1
add eax, edx
mov dword [edi + 8], eax
mov eax, dword [edi]
movzx ecx, byte [eax]
lea esi, [ecx - 0x62]
cmp esi, 0xb
ja case.default.0x4467ef
movzx esi, byte [esi + 0x449070]
jmp dword [esi*4 + 0x449068]
inc eax
mov dword [edi], eax
mov edx, dword [ecx*4 + 0x54a67c]
mov dword [edi + 0x20], edx
mov eax, dword [ecx*4 + 0x54a70c]
mov dword [edi + 0x24], eax
mov ecx, dword [ecx*4 + 0x54a858]
mov dword [ebp - 4], ecx
jmp 0x44685c
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
mov dword [edi + 0x20], edx
movzx ecx, byte [eax + 3]
movzx edx, byte [eax + 4]
shl ecx, 8
or ecx, edx
mov dword [edi + 0x24], ecx
jne 0x446842
mov dword [edi + 0x24], 0xffffffff
movzx ecx, byte [eax]
mov edx, dword [ecx*4 + 0x54a858]
add eax, 5
mov dword [ebp - 4], edx
mov dword [edi], eax
jmp 0x44685c
mov dword [edi + 0x24], edx
mov dword [edi + 0x20], edx
mov edx, 1
cmp dword [edi + 0x20], edx
jb 0x4468a6
jmp 0x446870
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x446433
movzx esi, byte [eax]
inc eax
mov dword [edi + 0x38], eax
mov ecx, esi
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [edi + 8]
shr esi, 3
mov cl, byte [esi + ecx]
test cl, al
je case.0x4486b4.14
inc edx
cmp edx, dword [edi + 0x20]
jbe 0x446870
mov eax, dword [edi + 0x20]
cmp eax, dword [edi + 0x24]
je 0x445fb6
cmp dword [ebp - 4], 0
je 0x44845a
mov ecx, dword [edi + 0x38]
mov dword [edi + 4], ecx
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x24]
jae 0x446927
lea ebx, [ebx]
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x446906
movzx esi, byte [eax]
mov ecx, esi
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [edi + 8]
shr esi, 3
mov cl, byte [esi + ecx]
test cl, dl
je 0x446927
inc eax
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x24]
jb 0x4468d0
jmp 0x446927
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x446927
mov edx, dword [edi + 0x38]
cmp edx, dword [ebx + 0x64]
jbe 0x446927
mov dword [ebx + 0x2c], 1
cmp eax, 1
ja 0x4461e9
cmp dword [ebp - 4], 2
je 0x445fb6
jmp 0x448470
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 4
je 0x4461f9
jmp case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
mov edx, dword [ebx + 0x3c]
test byte [ecx + edx], 4
jne 0x4461f9
jmp case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 1
je 0x4461f9
jmp case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
mov edx, dword [ebx + 0x3c]
test byte [ecx + edx], 1
jne 0x4461f9
jmp case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 0x10
je 0x4461f9
jmp case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
mov edx, dword [ebx + 0x3c]
test byte [ecx + edx], 0x10
jne 0x4461f9
jmp case.0x4486b4.14
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jb 0x446a31
movzx eax, word [ebx + 0x48]
test ax, ax
je case.0x4486b4.14
cmp ecx, dword [ebx + 0x64]
jmp 0x44621d
movzx eax, byte [ecx]
inc ecx
mov dword [edi + 0x38], ecx
cmp eax, 0xd
ja 0x446a99
je 0x446a53
cmp eax, 0xa
je 0x4461f9
jbe case.0x4486b4.14
cmp eax, 0xc
jmp 0x446ab0
cmp ecx, dword [ebx + 0x5c]
jb 0x446a85
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x4461f9
cmp ecx, dword [ebx + 0x64]
jbe 0x4461f9
mov dword [ebx + 0x2c], 1
cmp eax, 1
ja 0x4461e9
inc dword [edi]
jmp 0x445fb6
cmp byte [ecx], 0xa
jne 0x4461f9
inc ecx
mov dword [edi + 0x38], ecx
inc dword [edi]
jmp 0x445fb6
cmp eax, 0x85
je 0x446ab6
cmp eax, 0x2027
jbe case.0x4486b4.14
cmp eax, 0x2029
ja case.0x4486b4.14
cmp word [ebx + 0x4a], 2
jne 0x4461f9
jmp case.0x4486b4.14
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x446a1c
movzx eax, byte [ecx]
inc ecx
mov dword [edi + 0x38], ecx
cmp eax, 0x180e
ja 0x446b08
je case.0x4486b4.14
cmp eax, 0xa0
ja 0x446b01
je case.0x4486b4.14
cmp eax, 9
je case.0x4486b4.14
cmp eax, 0x20
jmp 0x446b33
cmp eax, 0x1680
jmp 0x446b33
cmp eax, 0x205f
ja 0x446b2e
je case.0x4486b4.14
cmp eax, 0x2000
jb 0x446b39
cmp eax, 0x200a
jbe case.0x4486b4.14
cmp eax, 0x202f
jmp 0x446b33
cmp eax, 0x3000
je case.0x4486b4.14
inc dword [edi]
jmp 0x445fb6
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x446a1c
movzx eax, byte [ecx]
inc ecx
mov dword [edi + 0x38], ecx
cmp eax, 0x180e
ja 0x446b82
je 0x4461f9
cmp eax, 0xa0
ja 0x446b7b
je 0x4461f9
cmp eax, 9
je 0x4461f9
cmp eax, 0x20
jmp 0x446bb1
cmp eax, 0x1680
jmp 0x446bb1
cmp eax, 0x205f
ja 0x446bac
je 0x4461f9
cmp eax, 0x2000
jb case.0x4486b4.14
cmp eax, 0x200a
jbe 0x4461f9
cmp eax, 0x202f
jmp 0x446bb1
cmp eax, 0x3000
je 0x4461f9
jmp case.0x4486b4.14
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x446a1c
movzx eax, byte [ecx]
inc ecx
mov dword [edi + 0x38], ecx
cmp eax, 0x85
ja 0x446bf5
je case.0x4486b4.14
cmp eax, 0xa
jb 0x4461f9
cmp eax, 0xd
jbe case.0x4486b4.14
inc dword [edi]
jmp 0x445fb6
cmp eax, 0x2028
jb 0x4461f9
cmp eax, 0x2029
ja 0x4461f9
jmp case.0x4486b4.14
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x446a1c
movzx eax, byte [ecx]
inc ecx
mov dword [edi + 0x38], ecx
cmp eax, 0x85
ja 0x446c3f
je 0x446c55
cmp eax, 0xa
jb case.0x4486b4.14
cmp eax, 0xd
jbe 0x446c55
jmp case.0x4486b4.14
cmp eax, 0x2028
jb case.0x4486b4.14
cmp eax, 0x2029
ja case.0x4486b4.14
inc dword [edi]
jmp 0x445fb6
mov ecx, dword [edi]
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
or eax, ecx
add dword [edi], 3
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], eax
jmp 0x446d39
mov eax, dword [edi]
mov dword [edi + 0x20], 0
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
mov eax, dword [edi]
xor ecx, ecx
mov dword [edi + 0x24], edx
cmp byte [eax], 0x5c
setne cl
add eax, 3
mov dword [edi], eax
mov dword [ebp - 4], ecx
jmp 0x446d39
inc dword [edi]
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0xffffffff
jmp 0x446d39
inc dword [edi]
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 1
mov dword [edi + 0x24], 0xffffffff
jmp 0x446d39
inc dword [edi]
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 1
jmp 0x446d39
mov eax, dword [edi]
mov dword [edi + 0x20], 0
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
add dword [edi], 3
mov dword [ebp - 4], 2
mov dword [edi + 0x24], edx
jmp 0x446d39
inc dword [edi]
mov ecx, dword [eax*4 + 0x54a6b0]
mov dword [edi + 0x20], ecx
mov edx, dword [eax*4 + 0x54a740]
mov dword [edi + 0x24], edx
mov eax, dword [eax*4 + 0x54a88c]
mov dword [ebp - 4], eax
mov ecx, dword [edi]
movzx edx, byte [ecx]
mov eax, dword [edi + 0x20]
inc dword [edi]
mov dword [edi + 0x28], edx
test eax, eax
je 0x447128
mov ecx, edx
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x44869a.15
jmp dword [ecx*4 + 0x44907c]
mov dword [ebp - 8], 1
cmp eax, 1
jb 0x447128
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x5c]
cmp ecx, edx
jae 0x4464fc
cmp dword [ebx + 0x90], 0
lea esi, [ebx + 0x94]
je 0x446dac
xor eax, eax
push eax
mov eax, dword [ebx + 0x90]
push eax
call fcn.004522f0
add esp, 8
test eax, eax
jne case.0x4486b4.14
jmp 0x446dd6
mov eax, dword [esi]
sub edx, eax
cmp ecx, edx
ja 0x446dd6
mov dl, byte [ecx]
cmp dl, byte [ebx + 0x98]
jne 0x446dd6
cmp eax, 1
je case.0x4486b4.14
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x99]
je case.0x4486b4.14
movzx ecx, word [ebx + 0x48]
test cx, cx
je 0x446e12
mov eax, dword [edi + 0x38]
lea edx, [eax + 1]
cmp edx, dword [ebx + 0x5c]
jb 0x446e12
cmp dword [ebx + 0x90], 0
jne 0x446e12
cmp dword [esi], 2
jne 0x446e12
mov al, byte [eax]
cmp al, byte [ebx + 0x98]
jne 0x446e12
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x4461e9
mov eax, dword [ebp - 8]
inc dword [edi + 0x38]
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x20]
jbe 0x446d73
jmp 0x447128
mov edx, dword [ebx + 0x5c]
mov ecx, dword [edi + 0x38]
sub edx, eax
cmp ecx, edx
ja 0x446a1c
add eax, ecx
mov dword [edi + 0x38], eax
jmp 0x447128
mov edx, 1
cmp eax, edx
jb 0x447128
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x4464fc
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [edi + 0x38], ecx
cmp eax, 0x7b
ja case.0x4486b4.14
movzx eax, byte [eax + 0x4490cc]
jmp dword [eax*4 + 0x4490bc]
cmp ecx, dword [ebx + 0x5c]
jae case.0x446e77.10
cmp byte [ecx], 0xa
jne case.0x446e77.10
inc ecx
mov dword [edi + 0x38], ecx
jmp case.0x446e77.10
cmp word [ebx + 0x4a], 2
je case.0x4486b4.14
inc edx
cmp edx, dword [edi + 0x20]
jbe 0x446e51
jmp 0x447128
mov edx, 1
cmp eax, edx
jb 0x447128
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x446433
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
cmp ecx, 9
je case.0x4486b4.14
cmp ecx, 0x20
je case.0x4486b4.14
cmp ecx, 0xa0
je case.0x4486b4.14
inc edx
cmp edx, dword [edi + 0x20]
jbe 0x446eb1
jmp 0x447128
mov edx, 1
cmp eax, edx
jb 0x447128
lea ebx, [ebx]
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4464fc
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
cmp ecx, 9
je 0x446f29
cmp ecx, 0x20
je 0x446f29
cmp ecx, 0xa0
jne case.0x4486b4.14
inc edx
cmp edx, dword [edi + 0x20]
jbe 0x446f00
jmp 0x447128
mov edx, 1
cmp eax, edx
jb 0x447128
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x446433
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
cmp ecx, 0xa
jl 0x446f6e
cmp ecx, 0xd
jle case.0x4486b4.14
cmp ecx, 0x85
je case.0x4486b4.14
inc edx
cmp edx, dword [edi + 0x20]
jbe 0x446f41
jmp 0x447128
mov edx, 1
cmp eax, edx
jb 0x447128
jmp 0x446f90
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4464fc
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
cmp ecx, 0xa
jl case.0x4486b4.14
cmp ecx, 0xd
jle 0x446fbd
cmp ecx, 0x85
jne case.0x4486b4.14
inc edx
cmp edx, dword [edi + 0x20]
jbe 0x446f90
jmp 0x447128
mov ecx, 1
cmp eax, ecx
jb 0x447128
jmp 0x446fe0
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4464fc
movzx edx, byte [eax]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 4
jne case.0x4486b4.14
inc eax
inc ecx
mov dword [edi + 0x38], eax
cmp ecx, dword [edi + 0x20]
jbe 0x446fe0
jmp 0x447128
mov ecx, 1
cmp eax, ecx
jb 0x447128
jmp 0x447020
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4464fc
movzx edx, byte [eax]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 4
je case.0x4486b4.14
inc eax
inc ecx
mov dword [edi + 0x38], eax
cmp ecx, dword [edi + 0x20]
jbe 0x447020
jmp 0x447128
mov ecx, 1
cmp eax, ecx
jb 0x447128
jmp 0x447060
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4464fc
movzx edx, byte [eax]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 1
jne case.0x4486b4.14
inc eax
inc ecx
mov dword [edi + 0x38], eax
cmp ecx, dword [edi + 0x20]
jbe 0x447060
jmp 0x447128
mov ecx, 1
cmp eax, ecx
jb 0x447128
jmp 0x4470a0
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4464fc
movzx edx, byte [eax]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 1
je case.0x4486b4.14
inc eax
inc ecx
mov dword [edi + 0x38], eax
cmp ecx, dword [edi + 0x20]
jbe 0x4470a0
jmp 0x447128
mov ecx, 1
cmp eax, ecx
jb 0x447128
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4464fc
movzx edx, byte [eax]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 0x10
jne case.0x4486b4.14
inc eax
inc ecx
mov dword [edi + 0x38], eax
cmp ecx, dword [edi + 0x20]
jbe 0x4470d1
jmp 0x447128
mov ecx, 1
cmp eax, ecx
jb 0x447128
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4464fc
movzx edx, byte [eax]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 0x10
je case.0x4486b4.14
inc eax
inc ecx
mov dword [edi + 0x38], eax
cmp ecx, dword [edi + 0x20]
jbe 0x447102
mov eax, dword [edi + 0x20]
cmp eax, dword [edi + 0x24]
je 0x445fb6
cmp dword [ebp - 4], 0
je case.0x44869a.13
mov ecx, dword [edi + 0x28]
mov edx, dword [edi + 0x38]
add ecx, 0xfffffffa
mov dword [edi + 4], edx
cmp ecx, 0xf
ja case.0x44869a.15
jmp dword [ecx*4 + 0x449148]
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x24]
jae 0x447521
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x5c]
cmp ecx, edx
jae 0x447500
cmp dword [ebx + 0x90], 0
lea esi, [ebx + 0x94]
je 0x44719f
xor eax, eax
push eax
mov eax, dword [ebx + 0x90]
push eax
call fcn.004522f0
add esp, 8
test eax, eax
jne 0x447521
jmp 0x4471c9
mov eax, dword [esi]
sub edx, eax
cmp ecx, edx
ja 0x4471c9
mov dl, byte [ecx]
cmp dl, byte [ebx + 0x98]
jne 0x4471c9
cmp eax, 1
je 0x447521
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x99]
je 0x447521
movzx ecx, word [ebx + 0x48]
test cx, cx
je 0x447205
mov eax, dword [edi + 0x38]
lea edx, [eax + 1]
cmp edx, dword [ebx + 0x5c]
jb 0x447205
cmp dword [ebx + 0x90], 0
jne 0x447205
cmp dword [esi], 2
jne 0x447205
mov al, byte [eax]
cmp al, byte [ebx + 0x98]
jne 0x447205
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x4461e9
mov eax, dword [ebp - 8]
inc dword [edi + 0x38]
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x24]
jb 0x447166
jmp 0x447521
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x38]
sub ecx, eax
mov eax, dword [ebx + 0x5c]
mov esi, eax
sub esi, edx
cmp ecx, esi
jbe 0x447251
mov dword [edi + 0x38], eax
movzx ecx, word [ebx + 0x48]
test cx, cx
je 0x447521
cmp eax, dword [ebx + 0x64]
jbe 0x447521
cmp ecx, 1
jmp 0x447514
add edx, ecx
mov dword [edi + 0x38], edx
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
mov edx, dword [edi + 0x38]
cmp edx, dword [ebx + 0x5c]
jae 0x4472c3
movzx ecx, byte [edx]
cmp ecx, 0xd
jne 0x44728e
lea ecx, [edx + 1]
mov dword [edi + 0x38], ecx
cmp ecx, dword [ebx + 0x5c]
jae 0x447521
cmp byte [ecx], 0xa
jne 0x4472b8
inc ecx
mov dword [edi + 0x38], ecx
jmp 0x4472b8
cmp ecx, 0xa
je 0x4472b4
cmp word [ebx + 0x4a], 2
je 0x447521
cmp ecx, 0xb
je 0x4472b4
cmp ecx, 0xc
je 0x4472b4
cmp ecx, 0x85
jne 0x447521
inc edx
mov dword [edi + 0x38], edx
inc eax
cmp eax, dword [edi + 0x24]
jb 0x447264
jmp 0x447521
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x447521
mov edx, dword [edi + 0x38]
cmp edx, dword [ebx + 0x64]
jmp 0x44750f
cmp eax, dword [edi + 0x24]
jae 0x447521
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x447500
mov dl, byte [ecx]
cmp dl, 9
je 0x447521
cmp dl, 0x20
je 0x447521
cmp dl, 0xa0
je 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x4472e4
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x4472c3
mov dl, byte [ecx]
cmp dl, 9
je 0x447342
cmp dl, 0x20
je 0x447342
cmp dl, 0xa0
jne 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x447325
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
lea ebx, [ebx]
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x447500
mov dl, byte [ecx]
cmp dl, 0xa
jb 0x447385
cmp dl, 0xd
jbe 0x447521
cmp dl, 0x85
je 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x447360
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
lea ecx, [ecx]
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x4472c3
mov dl, byte [ecx]
cmp dl, 0xa
jb 0x447521
cmp dl, 0xd
jbe 0x4473c5
cmp dl, 0x85
jne 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x4473a0
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
lea ecx, [ecx]
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x447500
movzx edx, byte [ecx]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 4
jne 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x4473e0
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x447500
movzx edx, byte [ecx]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 4
je 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x447414
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
jmp 0x447450
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x447500
movzx edx, byte [ecx]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 1
jne 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x447450
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x447500
movzx edx, byte [ecx]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 1
je 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x447484
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x447500
movzx edx, byte [ecx]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 0x10
jne 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x4474b8
jmp 0x447521
cmp eax, dword [edi + 0x24]
jae 0x447521
lea ecx, [ecx]
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jae 0x447500
movzx edx, byte [ecx]
mov esi, dword [ebx + 0x3c]
test byte [edx + esi], 0x10
je 0x447521
inc ecx
inc eax
mov dword [edi + 0x38], ecx
cmp eax, dword [edi + 0x24]
jb 0x4474e0
jmp 0x447521
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x447521
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x64]
jbe 0x447521
cmp eax, 1
mov dword [ebx + 0x2c], 1
ja 0x4461e9
cmp dword [ebp - 4], 2
je 0x445fb6
jmp 0x4487e7
xor edx, edx
cmp cl, 0x74
sete dl
mov dword [edi + 0x28], edx
mov edx, dword [edi]
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
movzx esi, byte [edx + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 1]
shl eax, 8
or eax, esi
movzx esi, word [ebx + 0x4e]
imul eax, esi
add eax, dword [ebx + 0x50]
add edx, 5
mov dword [edi], edx
test ecx, ecx
jle 0x4475c0
lea ebx, [ebx]
movzx edx, byte [eax]
movzx esi, byte [eax + 1]
shl edx, 8
or edx, esi
lea edx, [edx + edx - 2]
dec ecx
mov dword [edi + 0x14], edx
cmp edx, dword [edi + 0x50]
jae 0x447590
cmp dword [edi + edx*4 + 0x54], 0xffffffff
jne 0x4475c0
movzx edx, word [ebx + 0x4e]
add eax, edx
test ecx, ecx
jg 0x447570
jmp 0x4475c0
xor eax, eax
cmp cl, 0x72
sete al
mov dword [edi + 0x28], eax
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add dword [edi], 3
lea eax, [ecx + ecx - 2]
mov dword [edi + 0x14], eax
mov eax, dword [edi]
movzx ecx, byte [eax]
lea edx, [ecx - 0x62]
cmp edx, 7
ja case.default.0x4475d8
movzx edx, byte [edx + 0x449190]
jmp dword [edx*4 + 0x449188]
inc eax
mov dword [edi], eax
mov eax, dword [ecx*4 + 0x54a67c]
mov dword [edi + 0x20], eax
mov edx, dword [ecx*4 + 0x54a70c]
mov dword [edi + 0x24], edx
mov eax, dword [ecx*4 + 0x54a858]
mov dword [ebp - 4], eax
jmp 0x44763f
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
mov edx, dword [edi]
mov dword [edi + 0x20], ecx
mov ecx, dword [edi]
movzx eax, byte [ecx + 3]
movzx ecx, byte [ecx + 4]
shl eax, 8
or eax, ecx
mov dword [edi + 0x24], eax
movzx eax, byte [edx]
mov ecx, dword [eax*4 + 0x54a858]
mov dword [ebp - 4], ecx
jne 0x44763c
mov dword [edi + 0x24], 0xffffffff
add dword [edi], 5
mov ecx, dword [edi + 0x14]
cmp ecx, dword [edi + 0x50]
jae 0x44765c
mov eax, dword [edi + ecx*4 + 0x54]
cmp eax, 0xffffffff
je 0x44765c
cmp eax, dword [edi + ecx*4 + 0x58]
je 0x445fb6
jmp 0x447676
cmp dword [edi + 0x20], 0
je 0x445fb6
test dword [ebx + 0x84], 0x200
jne 0x445fb6
mov esi, 1
cmp dword [edi + 0x20], esi
jb 0x4476ac
mov eax, dword [edi + 0x28]
lea edx, [ebp - 0x20]
push edx
push eax
mov eax, dword [edi + 0x14]
push eax
mov eax, ebx
mov ecx, edi
call fcn.00445dd0
add esp, 0xc
test eax, eax
jne 0x44771c
mov ecx, dword [ebp - 0x20]
add dword [edi + 0x38], ecx
inc esi
cmp esi, dword [edi + 0x20]
jbe 0x447680
mov esi, dword [edi + 0x20]
cmp esi, dword [edi + 0x24]
je 0x445fb6
cmp dword [ebp - 4], 0
je 0x448b88
mov eax, dword [edi + 0x38]
mov dword [edi + 4], eax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x58]
sub ecx, dword [edi + eax*4 + 0x54]
mov dword [ebp - 0x18], 1
mov dword [edi + 0xc], ecx
cmp esi, dword [edi + 0x24]
jae 0x448396
mov eax, dword [edi + 0x28]
lea edx, [ebp - 0x24]
push edx
push eax
mov eax, dword [edi + 0x14]
push eax
mov eax, ebx
mov ecx, edi
call fcn.00445dd0
add esp, 0xc
test eax, eax
jne 0x447742
mov eax, dword [ebp - 0x24]
cmp eax, dword [edi + 0xc]
je 0x447711
mov dword [ebp - 0x18], 0
add dword [edi + 0x38], eax
inc esi
cmp esi, dword [edi + 0x24]
jb 0x4476e6
jmp 0x447765
jle 0x447724
mov edx, dword [ebx + 0x5c]
mov dword [edi + 0x38], edx
movzx ecx, word [ebx + 0x48]
test cx, cx
je case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jb case.0x4486b4.14
jmp 0x4461d0
jle 0x447765
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x447765
mov ecx, dword [ebx + 0x5c]
cmp ecx, dword [ebx + 0x64]
jbe 0x447765
mov dword [ebx + 0x2c], 1
cmp eax, 1
ja 0x4461e9
cmp dword [ebp - 0x18], 0
jne 0x448396
mov dword [edi + 0x24], esi
mov esi, dword [edi]
mov byte [edi + 0x30], 0x16
jmp 0x448cd2
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0x14]
push edx
push eax
push ecx
mov eax, ebx
mov ecx, edi
call fcn.00445dd0
add esp, 0xc
test eax, eax
jne 0x44771c
mov eax, dword [ebp - 0x14]
add dword [edi + 0x38], eax
jmp 0x445fb6
inc dword [edi]
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi], eax
cmp byte [eax], 0x78
je 0x4477a6
add eax, 3
mov dword [edi], eax
jmp 0x445fb6
cmp dword [ebx + 0x30], 0
jne 0x4477d8
cmp dword [edi + 0x18], 0
jne 0x447f1d
mov dword [edi + 0x20], 0
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx esi, byte [ecx + 0x54a400]
mov edx, dword [edi + 0x20]
mov dword [ebp - 0xc], edx
add esi, eax
mov byte [edi + 0x30], 2
jmp 0x448cd2
lea eax, [ebp - 0x14]
push eax
mov ecx, ebx
mov eax, edi
call fcn.00445cc0
mov esi, eax
add esp, 4
test esi, esi
jg case.0x4486b4.14
js case.0x447f0d.35
mov ecx, dword [ebp - 0x14]
add dword [edi], ecx
jmp 0x445fb6
mov ecx, dword [edi]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
mov dword [edi + 0xc], eax
cmp byte [eax + ecx], 0x78
je 0x447844
add eax, 0xfffffffd
mov dword [edi + 0xc], eax
add dword [edi], 3
mov eax, dword [edi]
mov al, byte [eax]
cmp al, 0x76
je 0x447853
cmp al, 0x77
jne 0x44787b
lea edx, [ebp - 0x14]
push edx
mov ecx, ebx
mov eax, edi
call fcn.00445cc0
mov esi, eax
add esp, 4
test esi, esi
jg case.0x4486b4.14
js case.0x447f0d.35
mov eax, dword [ebp - 0x14]
add dword [edi], eax
sub dword [edi + 0xc], eax
mov ecx, dword [edi]
movzx eax, byte [ecx]
add eax, 0xffffff73
cmp eax, 0x12
ja case.0x447895.147
movzx eax, byte [eax + 0x4491b4]
jmp dword [eax*4 + 0x449198]
mov edx, dword [edi + 0x44]
cmp edx, 0xffffffff
je case.0x447895.145
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
or eax, ecx
cmp eax, 0xffff
je case.0x447895.146
cmp eax, edx
je case.0x447895.146
mov eax, dword [edi + 0xc]
add dword [edi], eax
cmp byte [edi + 0x31], 0x8c
mov esi, dword [edi]
jne 0x445fb6
movzx eax, byte [edi + 0x31]
or eax, 0x20000
mov dword [ebp - 0xc], eax
mov byte [edi + 0x30], 0x23
jmp 0x448cd2
cmp dword [edi + 0x44], 0xffffffff
je case.0x447895.145
movzx edx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx esi, word [ebx + 0x4e]
shl edx, 8
or edx, eax
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
or eax, ecx
imul eax, esi
add eax, dword [ebx + 0x50]
test edx, edx
jle case.0x447895.145
movzx ecx, byte [eax]
dec edx
mov dword [ebp - 0x18], edx
movzx edx, byte [eax + 1]
shl ecx, 8
or edx, ecx
xor ecx, ecx
cmp edx, dword [edi + 0x44]
sete cl
test ecx, ecx
jne case.0x447895.146
movzx ecx, word [ebx + 0x4e]
mov edx, dword [ebp - 0x18]
add eax, ecx
test edx, edx
jg 0x447918
jmp case.0x447895.145
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
lea eax, [eax + eax - 2]
cmp eax, dword [edi + 0x50]
jae case.0x447895.145
cmp dword [edi + eax*4 + 0x54], 0xffffffff
jne case.0x447895.146
jmp case.0x447895.145
movzx edx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx esi, word [ebx + 0x4e]
shl edx, 8
or edx, eax
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
or eax, ecx
imul eax, esi
add eax, dword [ebx + 0x50]
test edx, edx
jle case.0x447895.145
movzx esi, byte [eax]
movzx ecx, byte [eax + 1]
shl esi, 8
or ecx, esi
lea ecx, [ecx + ecx - 2]
dec edx
cmp ecx, dword [edi + 0x50]
jae 0x4479c1
cmp dword [edi + ecx*4 + 0x54], 0xffffffff
jne case.0x447895.146
movzx ecx, word [ebx + 0x4e]
add eax, ecx
test edx, edx
jg 0x4479a0
jmp case.0x447895.145
mov ecx, dword [edi]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
mov ecx, dword [edi + 0x38]
shl eax, 8
or eax, edx
mov edx, ecx
sub edx, dword [ebx + 0x58]
cmp eax, edx
jg case.0x4486b4.14
sub ecx, eax
mov dword [edi + 0x38], ecx
cmp ecx, dword [ebx + 0x64]
jae 0x4479fc
mov dword [ebx + 0x64], ecx
add dword [edi], 3
jmp 0x445fb6
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi], eax
cmp byte [eax], 0x78
je case.0x445fd2.120
jmp 0x445fb6
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
sub eax, ecx
mov edx, eax
mov al, byte [edx]
mov dword [ebp - 8], edx
cmp al, 0x83
je 0x447a9d
cmp al, 0x87
je 0x447a9d
mov eax, dword [ebx + 0x10]
add eax, dword [edi + 0x4c]
mov esi, eax
sub esi, dword [ebp + 0x14]
mov dword [ebp - 0x10], eax
mov ecx, dword [esi + 0x4c]
mov dword [edi + 0x4c], ecx
mov ecx, dword [eax + 0x1c]
and ecx, 0xffff0000
cmp ecx, 0x30000
jne 0x447aa2
mov edx, dword [edi + 0x50]
add edx, edx
add edx, edx
push edx
lea eax, [edi + 0x54]
push eax
lea ecx, [esi + 0x54]
push ecx
call fcn.00459d50
mov edx, dword [edi + 0x50]
mov eax, edi
add esp, 0xc
sub eax, esi
mov dword [esi + 0x50], edx
mov dword [edi + 0x10], eax
mov esi, 1
jmp case.0x447f0d.35
mov eax, dword [ebp - 0x10]
xor esi, esi
movzx ecx, byte [edx]
add ecx, 0xffffff82
cmp ecx, 0xd
ja case.0x447ab8.131
movzx ecx, byte [ecx + 0x4491dc]
jmp dword [ecx*4 + 0x4491c8]
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x68]
jbe 0x447aca
mov dword [ebx + 0x68], eax
mov edx, dword [esi + 0x38]
mov dword [edi + 0x38], edx
mov eax, edi
sub eax, esi
mov dword [edi + 0x10], eax
mov ecx, dword [esi]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
cmp byte [ecx + eax], 0x78
jne 0x447b07
lea esp, [esp]
add dword [esi], eax
mov ecx, dword [esi]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
cmp byte [ecx + eax], 0x78
je 0x447af0
mov edx, dword [ebp - 8]
mov eax, dword [edi]
cmp byte [eax], 0x7c
jne 0x447bb5
mov eax, dword [ebp + 0x14]
add eax, 0xffffffc8
push eax
lea ecx, [edi + 0x38]
push ecx
add esi, 0x38
push esi
call fcn.00459d50
add esp, 0xc
mov esi, 0xfffffc1a
jmp case.0x447f0d.35
movzx ecx, byte [edx + 3]
movzx edx, byte [edx + 4]
shl ecx, 8
or ecx, edx
cmp dword [edi + 0x44], ecx
jne 0x447b83
mov esi, eax
sub esi, dword [ebp + 0x14]
lea edx, [edi + 0x54]
mov eax, dword [esi + 0x50]
add eax, eax
add eax, eax
push eax
lea ecx, [esi + 0x54]
push ecx
push edx
call fcn.00459d50
mov eax, dword [esi + 0x50]
mov dword [edi + 0x50], eax
mov ecx, dword [esi + 0x48]
mov dword [edi + 0x48], ecx
mov edx, dword [esi + 0x44]
mov dword [edi + 0x44], edx
mov eax, dword [esi]
add esp, 0xc
add eax, 3
mov dword [edi], eax
jmp 0x445fb6
lea eax, [ecx + ecx - 2]
mov dword [edi + 0x48], ecx
mov ecx, dword [esi + 0x38]
sub ecx, dword [ebx + 0x58]
mov dword [edi + eax*4 + 0x54], ecx
mov edx, dword [edi + 0x38]
sub edx, dword [ebx + 0x58]
mov dword [edi + eax*4 + 0x58], edx
mov edx, dword [ebp - 8]
cmp eax, dword [edi + 0x50]
jb case.0x447ab8.131
add eax, 2
mov dword [edi + 0x50], eax
jmp case.0x447ab8.131
cmp byte [edi + 0x31], 0x79
je 0x4479fc
test esi, esi
je 0x447bcf
mov eax, dword [edi + 0x38]
cmp eax, dword [esi + 0x38]
je 0x4479fc
cmp byte [edi + 0x31], 0x7b
jne 0x448b19
mov esi, dword [edi]
add esi, 3
mov byte [edi + 0x30], 6
jmp 0x448cd2
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x58]
jne case.0x4486b4.14
test byte [ebx + 0x80], 1
jne case.0x4486b4.14
inc dword [edi]
jmp 0x445fb6
mov edx, dword [edi + 0x38]
cmp edx, dword [ebx + 0x58]
je 0x4461f9
jmp case.0x4486b4.14
test byte [ebx + 0x80], 2
jne case.0x4486b4.14
test byte [ebx + 0x84], 0x10
je case.0x445fd2.23
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x5c]
jb case.0x4486b4.14
movzx eax, word [ebx + 0x48]
test ax, ax
je 0x447c58
cmp ecx, dword [ebx + 0x64]
jbe 0x447c58
mov dword [ebx + 0x2c], 1
cmp eax, 1
ja 0x4461e9
inc dword [edi]
jmp 0x445fb6
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x5c]
cmp ecx, edx
jae 0x447c3a
cmp dword [ebx + 0x90], 0
lea esi, [ebx + 0x94]
je 0x447c90
xor eax, eax
push eax
mov eax, dword [ebx + 0x90]
push eax
call fcn.004522f0
add esp, 8
test eax, eax
jne 0x447cb2
jmp 0x447cc2
mov eax, dword [esi]
sub edx, eax
cmp ecx, edx
ja 0x447cc2
mov dl, byte [ecx]
cmp dl, byte [ebx + 0x98]
jne 0x447cc2
cmp eax, 1
je 0x447cb2
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x99]
jne 0x447cc2
mov edx, dword [ebx + 0x5c]
sub edx, dword [esi]
mov ecx, dword [edi + 0x38]
cmp ecx, edx
je 0x447c3a
movzx ecx, word [ebx + 0x48]
test cx, cx
je case.0x4486b4.14
mov eax, dword [edi + 0x38]
lea edx, [eax + 1]
cmp edx, dword [ebx + 0x5c]
jb case.0x4486b4.14
cmp dword [ebx + 0x90], 0
jne case.0x4486b4.14
cmp dword [esi], 2
jne case.0x4486b4.14
mov al, byte [eax]
cmp al, byte [ebx + 0x98]
jne case.0x4486b4.14
jmp 0x4461d9
test byte [ebx + 0x80], 1
je 0x447d1c
mov ecx, dword [edi + 0x38]
cmp ecx, dword [ebx + 0x58]
je case.0x4486b4.14
mov ecx, dword [edi + 0x38]
mov esi, dword [ebx + 0x58]
cmp ecx, esi
je 0x4461f9
cmp ecx, dword [ebx + 0x5c]
jne 0x447d3f
test dword [ebx + 0x84], 0x200000
je case.0x4486b4.14
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x447d70
cmp ecx, esi
jbe case.0x4486b4.14
xor edx, edx
push edx
lea edx, [ebx + 0x94]
push eax
call fcn.004523a0
add esp, 8
test eax, eax
jne 0x4461f9
jmp case.0x4486b4.14
mov eax, dword [ebx + 0x94]
lea edx, [eax + esi]
cmp ecx, edx
jb case.0x4486b4.14
mov esi, ecx
sub esi, eax
mov cl, byte [esi]
cmp cl, byte [ebx + 0x98]
jne case.0x4486b4.14
cmp eax, 1
je 0x4461f9
mov dl, byte [esi + 1]
cmp dl, byte [ebx + 0x99]
je 0x4461f9
jmp case.0x4486b4.14
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x5c]
cmp ecx, edx
jae 0x447e20
mov eax, dword [ebx + 0x90]
lea esi, [ebx + 0x94]
test eax, eax
je 0x447de9
xor eax, eax
push eax
mov eax, dword [ebx + 0x90]
push eax
call fcn.004522f0
add esp, 8
test eax, eax
jne 0x447c58
jmp 0x447cc2
mov eax, dword [esi]
sub edx, eax
cmp ecx, edx
ja 0x447cc2
mov dl, byte [ecx]
cmp dl, byte [ebx + 0x98]
jne 0x447cc2
cmp eax, 1
je 0x447c58
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x99]
je 0x447c58
jmp 0x447cc2
test byte [ebx + 0x80], 2
jne case.0x4486b4.14
jmp 0x447c3a
mov ecx, dword [ebx + 0x58]
add ecx, dword [ebx + 0x40]
cmp dword [edi + 0x38], ecx
je 0x4461f9
jmp case.0x4486b4.14
mov edx, dword [edi + 0x38]
inc dword [edi]
mov dword [edi + 0x3c], edx
jmp 0x445fb6
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x58]
jne 0x447e5f
xor esi, esi
jmp 0x447e79
movzx ecx, byte [eax - 1]
dec eax
cmp eax, dword [ebx + 0x64]
jae 0x447e6c
mov dword [ebx + 0x64], eax
mov eax, dword [ebx + 0x3c]
movzx esi, byte [ecx + eax]
shr esi, 4
and esi, 1
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jb 0x447ea3
movzx ecx, word [ebx + 0x48]
test cx, cx
je 0x447e9f
cmp eax, dword [ebx + 0x64]
jbe 0x447e9f
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x4461e9
xor eax, eax
jmp 0x447ebe
lea ecx, [eax + 1]
movzx eax, byte [eax]
cmp ecx, dword [ebx + 0x68]
jbe 0x447eb1
mov dword [ebx + 0x68], ecx
mov ecx, dword [ebx + 0x3c]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov ecx, dword [edi]
mov dl, byte [ecx]
inc ecx
mov dword [edi], ecx
cmp dl, 5
jne 0x447ed5
xor ecx, ecx
cmp eax, esi
sete cl
mov eax, ecx
jmp 0x447ede
xor edx, edx
cmp eax, esi
setne dl
mov eax, edx
test eax, eax
je 0x445fb6
xor esi, esi
cmp dword [edi + 0x18], 0
je 0x448e4a
sub edi, dword [edi + 0x10]
mov eax, dword [ebx + 0x9c]
or dword [eax + 0x3c], 2
movzx eax, byte [edi + 0x30]
dec eax
cmp eax, 0x23
ja case.0x44869a.15
jmp dword [eax*4 + 0x4491ec]
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 4]
mov dword [edi], eax
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add ecx, eax
mov dword [edi + 4], ecx
cmp byte [ecx], 0x78
movzx ecx, byte [eax]
je 0x448b48
movzx edx, byte [ecx + 0x54a400]
add edx, eax
mov dword [edi], edx
jmp 0x445fb6
cmp esi, 0xfffffc1f
jne 0x447f79
mov ecx, dword [edi]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add eax, ecx
cmp dword [ebx + 0x74], eax
jae case.0x447f0d.35
cmp byte [ecx], 0x78
je 0x447f81
cmp byte [eax], 0x78
jmp 0x447f7b
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi], eax
cmp byte [eax], 0x78
je 0x4477df
jmp case.0x4486b4.14
cmp esi, 0xfffffc19
je 0x448816
test esi, esi
je 0x447fbe
cmp esi, 0xfffffc1f
jne case.0x447f0d.35
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi], eax
cmp byte [eax], 0x78
jne case.0x4486b4.14
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx esi, byte [ecx + 0x54a400]
mov edx, dword [edi + 0x20]
mov dword [ebp - 0xc], edx
add esi, eax
mov byte [edi + 0x30], 3
jmp 0x448cd2
cmp esi, 0xfffffc1f
jg 0x448052
je 0x448862
cmp esi, 0xfffffc19
je case.0x4486b4.14
cmp esi, 0xfffffc1a
jle case.0x447f0d.35
cmp esi, 0xfffffc1d
jg case.0x447f0d.35
lea esp, [esp]
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi], eax
cmp byte [eax], 0x78
je 0x448030
add eax, 3
mov dword [edi], eax
jmp 0x445fb6
mov eax, esi
sub eax, 0
je 0x448862
dec eax
jne case.0x447f0d.35
jmp case.0x4486b4.14
cmp esi, 0xfffffc1f
jg 0x4480a0
je 0x4488ae
cmp esi, 0xfffffc19
je 0x448888
cmp esi, 0xfffffc1a
jle case.0x447f0d.35
cmp esi, 0xfffffc1d
jg case.0x447f0d.35
jmp 0x4488cc
mov eax, esi
sub eax, 0
je 0x4488ae
dec eax
jne case.0x447f0d.35
mov eax, dword [edi + 0x20]
jmp 0x4488d4
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
sub eax, edx
mov dword [edi], eax
jmp 0x445fb6
test esi, esi
jne case.0x447f0d.35
add dword [edi], 3
jmp 0x445fb6
cmp esi, 0xfffffc1a
jne 0x44811f
mov eax, dword [edi + 0x38]
mov dword [edi + 0x24], 1
cmp eax, dword [edi + 4]
jne 0x448b5a
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi], eax
cmp byte [eax], 0x78
je 0x448105
jmp 0x44816f
cmp esi, 0xfffffc1f
jne 0x44814b
mov ecx, dword [edi]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add eax, ecx
cmp dword [ebx + 0x74], eax
jae case.0x447f0d.35
cmp byte [ecx], 0x78
je 0x448153
cmp byte [eax], 0x78
jmp 0x44814d
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi], eax
cmp byte [eax], 0x78
je 0x448b5f
cmp dword [edi + 0x24], 0
jne 0x447b79
cmp dword [edi + 0x28], 0
jne 0x447b79
jmp case.0x4486b4.14
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 4]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi + 4], eax
cmp byte [eax], 0x78
je 0x448193
add eax, 3
mov dword [edi], eax
jmp 0x445fb6
test esi, esi
jne case.0x447f0d.35
inc dword [edi]
jmp 0x445fb6
mov ecx, dword [edi + 4]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add eax, ecx
lea ecx, [esi + 0x3e5]
cmp ecx, 4
ja 0x448215
mov edx, dword [edi + 0x20]
xor edx, 0x40000
cmp dword [ebx + 0x7c], edx
jne 0x448215
cmp esi, 0xfffffc1f
jne case.0x4486b4.14
cmp dword [ebx + 0x74], eax
jae case.0x4486b4.14
mov ecx, dword [edi + 4]
cmp byte [ecx], 0x78
je 0x44821d
cmp byte [eax], 0x78
je 0x44821d
jmp case.0x4486b4.14
test esi, esi
jne case.0x447f0d.35
mov dword [edi + 4], eax
cmp byte [eax], 0x78
jne case.0x4486b4.14
mov eax, dword [edi + 0x20]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 4]
movzx ecx, byte [eax]
movzx esi, byte [ecx + 0x54a400]
add esi, eax
mov byte [edi + 0x30], 0xb
jmp 0x448cd2
cmp esi, 0xfffffc1e
jne case.0x447f0d.35
mov eax, dword [ebx + 0x78]
mov edx, dword [edi]
sub edx, eax
add edx, 2
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x18]
mov cl, byte [ecx + eax]
test cl, cl
jne 0x44826e
cmp byte [eax], cl
je 0x448285
mov dl, byte [eax]
inc eax
cmp dl, cl
je 0x448260
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne case.0x447f0d.35
mov edx, dword [edi + 0x38]
mov dword [ebx + 0x78], edx
mov esi, 0xfffffc1d
jmp case.0x447f0d.35
test esi, esi
jne case.0x447f0d.35
mov ecx, dword [edi + 0x44]
mov dword [ebx + 0x7c], ecx
mov esi, 0xfffffc1c
jmp case.0x447f0d.35
test esi, esi
jne case.0x447f0d.35
mov edx, dword [edi + 0x44]
mov dword [ebx + 0x7c], edx
mov esi, 0xfffffc1c
jmp case.0x447f0d.35
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x78], eax
mov ecx, dword [edi + 0x44]
mov dword [ebx + 0x7c], ecx
mov esi, 0xfffffc1d
jmp case.0x447f0d.35
test esi, esi
jne case.0x447f0d.35
mov edx, dword [edi]
add edx, 2
mov dword [ebx + 0x78], edx
mov eax, dword [edi + 0x44]
mov dword [ebx + 0x7c], eax
mov esi, 0xfffffc1e
jmp case.0x447f0d.35
test esi, esi
jne case.0x447f0d.35
mov ecx, dword [edi]
mov dword [ebx + 0x74], ecx
mov edx, dword [edi + 0x44]
mov dword [ebx + 0x7c], edx
mov esi, 0xfffffc1f
jmp case.0x447f0d.35
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi]
mov dword [ebx + 0x74], eax
mov ecx, dword [edi + 0x44]
mov dword [ebx + 0x7c], ecx
mov esi, 0xfffffc1f
jmp case.0x447f0d.35
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x20]
lea edx, [eax + 1]
mov dword [edi + 0x20], edx
cmp eax, dword [edi + 0x24]
jae case.0x4486b4.14
mov ecx, dword [edi + 0x28]
mov edx, dword [edi + 0x14]
lea eax, [ebp - 0x28]
push eax
push ecx
push edx
mov eax, ebx
mov ecx, edi
call fcn.00445dd0
add esp, 0xc
test eax, eax
je 0x448b82
jle 0x447724
mov eax, dword [ebx + 0x5c]
mov dword [edi + 0x38], eax
jmp 0x447724
test esi, esi
jne case.0x447f0d.35
mov ecx, dword [edi + 0xc]
sub dword [edi + 0x38], ecx
mov edx, dword [edi + 0x38]
cmp edx, dword [edi + 4]
jb case.0x4486b4.14
mov esi, dword [edi]
mov byte [edi + 0x30], 0x15
jmp 0x448cd2
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x38]
cmp eax, dword [edi + 4]
je case.0x4486b4.14
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 4]
dec dword [edi + 0x24]
mov dword [edi + 0x38], eax
mov dword [ebp - 8], ecx
cmp ecx, dword [edi + 0x24]
jae 0x448401
mov esi, eax
mov eax, dword [edi + 0x28]
lea ecx, [ebp - 0x2c]
push ecx
push eax
mov eax, dword [edi + 0x14]
push eax
mov eax, ebx
mov ecx, edi
call fcn.00445dd0
add esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
inc eax
add esp, 0xc
mov dword [edi + 0x38], esi
mov dword [ebp - 8], eax
cmp eax, dword [edi + 0x24]
jb 0x4483d7
mov esi, dword [edi]
mov byte [edi + 0x30], 0x16
jmp 0x448cd2
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x20]
lea ecx, [eax + 1]
mov dword [edi + 0x20], ecx
cmp eax, dword [edi + 0x24]
jae case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx ecx, byte [eax]
mov dword [ebp - 0x18], ebx
mov edx, ecx
and ecx, 7
inc eax
mov ebx, 1
shl ebx, cl
mov dword [edi + 0x38], eax
mov eax, dword [edi + 8]
shr edx, 3
test byte [edx + eax], bl
mov ebx, dword [ebp - 0x18]
je case.0x4486b4.14
mov esi, dword [edi]
mov byte [edi + 0x30], 0x17
jmp 0x448cd2
test esi, esi
jne case.0x447f0d.35
dec dword [edi + 0x38]
mov ecx, dword [edi + 0x38]
cmp ecx, dword [edi + 4]
jb case.0x4486b4.14
mov esi, dword [edi]
mov byte [edi + 0x30], 0x18
jmp 0x448cd2
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x20]
lea edx, [eax + 1]
mov dword [edi + 0x20], edx
cmp eax, dword [edi + 0x24]
jae case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx eax, byte [eax]
cmp dword [edi + 0x28], eax
je 0x4484be
cmp dword [edi + 0x2c], eax
jne case.0x4486b4.14
inc dword [edi + 0x38]
mov esi, dword [edi]
mov byte [edi + 0x30], 0x19
jmp 0x448cd2
dec dword [edi + 0x38]
test esi, esi
jne case.0x447f0d.35
jmp 0x446476
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x20]
lea ecx, [eax + 1]
mov dword [edi + 0x20], ecx
cmp eax, dword [edi + 0x24]
jae case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx edx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
cmp dword [edi + 0x28], edx
jne case.0x4486b4.14
mov esi, dword [edi]
mov byte [edi + 0x30], 0x1b
jmp 0x448cd2
dec dword [edi + 0x38]
test esi, esi
jne case.0x447f0d.35
jmp 0x44653f
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x20]
lea ecx, [eax + 1]
mov dword [edi + 0x20], ecx
cmp eax, dword [edi + 0x24]
jae case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx eax, byte [eax]
cmp dword [edi + 0x28], eax
je case.0x4486b4.14
cmp dword [edi + 0x2c], eax
je case.0x4486b4.14
inc dword [edi + 0x38]
mov esi, dword [edi]
mov byte [edi + 0x30], 0x1d
jmp 0x448cd2
test esi, esi
jne case.0x447f0d.35
dec dword [edi + 0x38]
mov ecx, dword [edi + 0x38]
cmp ecx, dword [edi + 4]
je 0x445fb6
mov esi, dword [edi]
mov byte [edi + 0x30], 0x1e
jmp 0x448cd2
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x20]
lea edx, [eax + 1]
mov dword [edi + 0x20], edx
cmp eax, dword [edi + 0x24]
jae case.0x4486b4.14
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jae 0x4461c3
movzx ecx, byte [eax]
inc eax
mov dword [edi + 0x38], eax
cmp dword [edi + 0x28], ecx
je case.0x4486b4.14
mov esi, dword [edi]
mov byte [edi + 0x30], 0x1f
jmp 0x448cd2
test esi, esi
jne case.0x447f0d.35
dec dword [edi + 0x38]
mov edx, dword [edi + 0x38]
cmp edx, dword [edi + 4]
je 0x445fb6
mov esi, dword [edi]
mov byte [edi + 0x30], 0x20
jmp 0x448cd2
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x20]
lea edx, [eax + 1]
mov dword [edi + 0x20], edx
cmp eax, dword [edi + 0x24]
jae case.0x4486b4.14
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x5c]
cmp ecx, edx
jae 0x446a1c
cmp dword [edi + 0x28], 0xc
jne 0x44867f
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x448651
push esi
lea esi, [ebx + 0x94]
push eax
call fcn.004522f0
add esp, 8
test eax, eax
jne case.0x4486b4.14
jmp 0x44867f
mov esi, dword [ebx + 0x94]
sub edx, esi
cmp ecx, edx
ja 0x44867f
mov al, byte [ecx]
cmp al, byte [ebx + 0x98]
jne 0x44867f
cmp esi, 1
je case.0x4486b4.14
mov cl, byte [ecx + 1]
cmp cl, byte [ebx + 0x99]
je case.0x4486b4.14
mov ecx, dword [edi + 0x38]
movzx eax, byte [ecx]
lea edx, [ecx + 1]
mov ecx, dword [edi + 0x28]
add ecx, 0xfffffffa
mov dword [edi + 0x38], edx
cmp ecx, 0xf
ja case.0x44869a.15
jmp dword [ecx*4 + 0x44927c]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4486b4.14
movzx eax, byte [eax + 0x4492cc]
jmp dword [eax*4 + 0x4492bc]
cmp word [ebx + 0x4a], 2
jne case.0x44869a.13
jmp case.0x4486b4.14
cmp eax, 9
je case.0x4486b4.14
cmp eax, 0x20
je case.0x4486b4.14
cmp eax, 0xa0
jne case.0x44869a.13
jmp case.0x4486b4.14
cmp eax, 9
je case.0x44869a.13
cmp eax, 0x20
je case.0x44869a.13
cmp eax, 0xa0
je case.0x44869a.13
jmp case.0x4486b4.14
cmp eax, 0xa
jb case.0x44869a.13
cmp eax, 0xd
jbe case.0x4486b4.14
cmp eax, 0x85
jne case.0x44869a.13
jmp case.0x4486b4.14
cmp eax, 0xa
jb case.0x4486b4.14
cmp eax, 0xd
jbe case.0x44869a.13
cmp eax, 0x85
je case.0x44869a.13
jmp case.0x4486b4.14
mov ecx, dword [ebx + 0x3c]
test byte [eax + ecx], 4
je case.0x44869a.13
jmp case.0x4486b4.14
mov edx, dword [ebx + 0x3c]
test byte [eax + edx], 4
jne case.0x44869a.13
jmp case.0x4486b4.14
mov ecx, dword [ebx + 0x3c]
test byte [eax + ecx], 1
je case.0x44869a.13
jmp case.0x4486b4.14
mov edx, dword [ebx + 0x3c]
test byte [eax + edx], 1
jne case.0x44869a.13
jmp case.0x4486b4.14
mov ecx, dword [ebx + 0x3c]
test byte [eax + ecx], 0x10
je case.0x44869a.13
jmp case.0x4486b4.14
mov edx, dword [ebx + 0x3c]
test byte [eax + edx], 0x10
jne case.0x44869a.13
jmp case.0x4486b4.14
test esi, esi
jne case.0x447f0d.35
dec dword [edi + 0x38]
cmp dword [edi + 0x28], 0x11
mov eax, dword [edi + 0x38]
jne 0x4487e7
cmp eax, dword [edi + 4]
jbe 0x4487e7
cmp byte [eax], 0xa
jne 0x4487e7
cmp byte [eax - 1], 0xd
jne 0x4487e7
dec eax
mov dword [edi + 0x38], eax
mov eax, dword [edi + 0x38]
cmp eax, dword [edi + 4]
je 0x445fb6
mov esi, dword [edi]
mov byte [edi + 0x30], 0x22
jmp 0x448cd2
test esi, esi
jne case.0x447f0d.35
mov eax, dword [edi + 0x44]
mov dword [ebx + 0x7c], eax
mov esi, 0xfffffc1b
jmp case.0x447f0d.35
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x50]
add eax, eax
add eax, eax
push eax
lea ecx, [esi + 0x54]
push ecx
lea edx, [edi + 0x54]
push edx
call fcn.00459d50
mov eax, dword [esi + 0x50]
mov dword [edi + 0x50], eax
mov ecx, dword [esi + 0x40]
add esp, 0xc
mov dword [edi + 0x40], ecx
lea ecx, [ecx]
mov eax, dword [edi]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
mov dword [edi], eax
cmp byte [eax], 0x78
je 0x448840
add eax, 3
mov dword [edi], eax
jmp 0x445fb6
mov eax, dword [edi]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
mov dword [edi], eax
cmp byte [eax], 0x78
je 0x448aba
add eax, 3
mov dword [edi], eax
jmp 0x445fb6
mov esi, dword [ebp - 0x1c]
mov edx, dword [esi + 0x50]
add edx, edx
add edx, edx
push edx
lea eax, [esi + 0x54]
push eax
lea ecx, [edi + 0x54]
push ecx
call fcn.00459d50
mov edx, dword [esi + 0x50]
mov eax, dword [edi + 0x20]
add esp, 0xc
mov dword [edi + 0x50], edx
jmp 0x4488d4
mov eax, dword [edi + 4]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi + 4], eax
cmp byte [eax], 0x78
je 0x448af4
xor eax, eax
cmp dword [edi + 0x20], eax
sete al
test eax, eax
je case.0x447895.145
lea esp, [esp]
mov eax, dword [edi]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [edi], eax
cmp byte [eax], 0x78
je 0x4488e0
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx eax, byte [ecx + 0x54a400]
jmp 0x4478c7
inc dword [ebx + 0x88]
mov eax, dword [ebx + 0x88]
cmp eax, dword [ebx + 0x8c]
mov eax, dword [edi]
ja 0x448c83
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x54a400]
movzx ecx, byte [eax + 1]
add edx, eax
add ecx, edx
mov dword [edi], ecx
jmp 0x445fb6
mov esi, dword [edi]
inc esi
mov dword [edi + 4], esi
mov byte [edi + 0x30], 9
jmp 0x448cd2
mov eax, dword [edi]
inc eax
mov dword [edi + 4], eax
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
mov dword [edi + 4], eax
cmp byte [eax], 0x78
je 0x448951
lea esi, [eax + 3]
mov byte [edi + 0x30], 0xa
jmp 0x448cd2
inc dword [edi]
mov eax, dword [edi]
mov dword [edi + 0x28], 1
mov al, byte [eax]
cmp al, 0x86
je 0x4489b1
cmp al, 0x8b
jne 0x448992
jmp 0x4489b1
mov dword [edi + 0x28], 0
mov ecx, dword [edi]
mov dword [edi + 0x20], 0x20000
mov dword [edi + 0x24], 0
mov dword [edi + 8], ecx
jmp 0x448b5f
mov dword [edi + 0x28], 0
mov eax, dword [edi]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
mov ecx, dword [edi]
or edx, 0x100
shl edx, 8
or edx, eax
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], 0
mov dword [edi + 8], ecx
jmp 0x448b5f
mov eax, dword [edi]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
or edx, 0x100
shl edx, 8
or edx, eax
mov dword [edi + 0x20], edx
jmp 0x4477df
movzx ecx, cl
or ecx, 0x20000
mov dword [edi + 0x20], ecx
jmp 0x4477df
mov eax, dword [edi]
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
mov ecx, dword [ebx + 0x54]
shl edx, 8
or edx, eax
add edx, ecx
cmp edx, ecx
jne 0x448a24
xor ecx, ecx
jmp 0x448a31
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
cmp dword [edi + 0x44], 0xffffffff
mov dword [ebp - 0x10], ecx
je 0x448a8d
mov eax, dword [edi + 0x4c]
cmp eax, 0xffffffff
je 0x448a8d
or ecx, 0x40000
mov dword [ebp - 0x18], ecx
nop
mov ecx, dword [ebx + 0x10]
mov esi, dword [ebp - 0x18]
add ecx, eax
mov eax, ecx
sub eax, dword [ebp + 0x14]
cmp dword [ecx + 0x1c], esi
je 0x448a7e
mov eax, dword [eax + 0x4c]
cmp eax, 0xffffffff
jne 0x448a50
mov ecx, dword [ebp - 0x10]
or ecx, 0x40000
mov dword [edi + 4], edx
mov dword [edi + 0x20], ecx
jmp 0x448229
mov ecx, dword [edi + 0x38]
cmp ecx, dword [eax + 0x38]
je 0x448e3e
mov ecx, dword [ebp - 0x10]
or ecx, 0x40000
mov dword [edi + 4], edx
mov dword [edi + 0x20], ecx
jmp 0x448229
movzx edx, cl
or edx, 0x20000
mov dword [edi + 0x20], edx
jmp 0x447fda
movzx eax, cl
or eax, 0x20000
mov dword [edi + 0x20], eax
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx esi, byte [ecx + 0x54a400]
mov edx, dword [edi + 0x20]
mov dword [ebp - 0xc], edx
add esi, eax
mov byte [edi + 0x30], 4
jmp 0x448cd2
mov ecx, dword [edi]
mov al, byte [ecx]
cmp al, 0x7e
je 0x448ae7
cmp al, 0x80
je 0x448ae7
xor eax, eax
jmp 0x448aec
mov eax, 1
mov edx, dword [edi]
mov dword [edi + 0x20], eax
mov dword [edi + 4], edx
mov edx, dword [edi]
movzx eax, byte [edx]
or eax, 0x30000
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 4]
movzx ecx, byte [eax]
movzx esi, byte [ecx + 0x54a400]
add esi, eax
mov byte [edi + 0x30], 5
jmp 0x448cd2
mov esi, edx
mov byte [edi + 0x30], 7
jmp 0x448cd2
mov eax, dword [edi]
add eax, 2
mov dword [ebx + 0x70], eax
mov dword [edi + 0x40], eax
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x54a400]
movzx esi, byte [eax + 1]
mov byte [edi + 0x30], 0xc
jmp 0x448cce
movzx esi, byte [ecx + 0x54a400]
add esi, eax
mov byte [edi + 0x30], 1
jmp 0x448cd2
mov edx, dword [edi + 8]
mov dword [edi], edx
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x20]
mov dword [edi + 4], eax
mov eax, dword [edi]
movzx edx, byte [eax]
movzx esi, byte [edx + 0x54a400]
mov dword [ebp - 0xc], ecx
add esi, eax
mov byte [edi + 0x30], 8
jmp 0x448cd2
mov edx, dword [ebp - 0x28]
add dword [edi + 0x38], edx
mov esi, dword [edi]
mov byte [edi + 0x30], 0x14
jmp 0x448cd2
movzx ecx, word [ebx + 0x48]
test cx, cx
je case.0x44869a.13
cmp edx, dword [ebx + 0x5c]
jb case.0x44869a.13
cmp dword [ebx + 0x90], 0
jne case.0x44869a.13
cmp dword [ebx + 0x94], 2
jne case.0x44869a.13
movzx edx, byte [ebx + 0x98]
cmp eax, edx
jne case.0x44869a.13
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x4461e9
mov esi, dword [edi]
mov byte [edi + 0x30], 0x21
jmp 0x448cd2
cmp edx, dword [ebx + 0x5c]
jae case.0x44869a.13
cmp byte [edx], 0xa
jne case.0x44869a.13
inc edx
mov dword [edi + 0x38], edx
mov esi, dword [edi]
mov byte [edi + 0x30], 0x21
jmp 0x448cd2
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx esi, byte [ecx + 0x54a400]
add esi, eax
mov byte [edi + 0x30], 0xd
jmp 0x448cd2
mov eax, dword [edi]
add eax, 2
mov dword [ebx + 0x70], eax
mov dword [edi + 0x40], eax
mov eax, dword [edi]
movzx edx, byte [eax]
movzx ecx, byte [edx + 0x54a400]
movzx esi, byte [eax + 1]
add ecx, eax
add esi, ecx
mov byte [edi + 0x30], 0x24
jmp 0x448cd2
mov eax, dword [edi]
movzx edx, byte [eax]
movzx esi, byte [edx + 0x54a400]
add esi, eax
mov byte [edi + 0x30], 0xe
jmp 0x448cd2
mov eax, dword [edi]
add eax, 2
mov dword [ebx + 0x70], eax
mov dword [edi + 0x40], eax
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x54a400]
movzx esi, byte [eax + 1]
mov byte [edi + 0x30], 0xf
jmp 0x448cce
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx esi, byte [ecx + 0x54a400]
add esi, eax
mov byte [edi + 0x30], 0x10
jmp 0x448cd2
movzx edx, byte [eax]
movzx ecx, byte [edx + 0x54a400]
movzx esi, byte [eax + 1]
add ecx, eax
add esi, ecx
mov byte [edi + 0x30], 0x11
jmp 0x448cd2
mov eax, dword [edi]
movzx edx, byte [eax]
movzx esi, byte [edx + 0x54a400]
add esi, eax
mov byte [edi + 0x30], 0x12
jmp 0x448cd2
mov eax, dword [edi]
add eax, 2
mov dword [ebx + 0x70], eax
mov dword [edi + 0x40], eax
mov eax, dword [edi]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x54a400]
movzx esi, byte [eax + 1]
mov byte [edi + 0x30], 0x13
add edx, eax
add esi, edx
mov eax, dword [ebp + 0x14]
add eax, edi
mov dword [ebp - 0x10], eax
cmp eax, dword [ebx + 0x14]
jb 0x448d70
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax]
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x18], ecx
shr ecx, 0xa
cmp ecx, eax
jbe 0x448d0f
mov ecx, dword [ebp + 0x14]
shl eax, 0xa
xor edx, edx
div ecx
imul eax, ecx
cmp dword [ebx + 0xc], eax
jae 0x448e53
mov dword [ebp - 0x18], eax
mov ecx, dword [ebx + 8]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx]
push ecx
push edx
call eax
add esp, 8
mov dword [ebp - 8], eax
test eax, eax
je 0x448e5f
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
push ecx
push edx
push eax
call fcn.00459d50
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x14]
sub ecx, eax
add edi, ecx
add esp, 0xc
lea ecx, [edi + edx]
mov dword [ebp - 0x10], ecx
cmp eax, dword [ebx + 0x18]
je 0x448d5f
mov edx, dword [ebx + 8]
push edx
push eax
mov eax, dword [ebx + 4]
call eax
add esp, 8
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
mov dword [ebx + 0x10], eax
add eax, ecx
mov dword [ebx + 0x14], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0x10]
add eax, 0xffffffc8
push eax
lea ecx, [edi + 0x38]
push ecx
add edx, 0x38
push edx
call fcn.00459d50
mov eax, dword [edi + 0x18]
mov edi, dword [ebp - 0x10]
inc eax
add esp, 0xc
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0xc]
xor ecx, ecx
jmp 0x445f68
pop edi
pop esi
mov eax, 0xffffffd1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x38]
mov dword [ebx + 0x60], ecx
mov edx, dword [edi + 0x50]
mov dword [ebx + 0x44], edx
mov eax, dword [edi + 0x40]
mov dword [ebx + 0x6c], eax
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x68]
jbe 0x448dd3
mov dword [ebx + 0x68], eax
mov ecx, dword [edi + 0x3c]
sub ecx, dword [ebx + 0x58]
mov esi, dword [ebp + 8]
movzx eax, word [ebp + 0x10]
mov dword [esi], ecx
mov edx, dword [edi + 0x38]
movzx ecx, word [ebp + 0xc]
sub edx, dword [ebx + 0x58]
inc eax
mov dword [esi + 4], edx
cmp eax, ecx
jle 0x448df6
mov eax, ecx
lea ebx, [eax + eax]
lea eax, [ebx*4 - 8]
push eax
lea ecx, [edi + 0x54]
push ecx
lea edx, [esi + 8]
push edx
call fcn.00459d50
mov eax, dword [edi + 0x50]
dec ebx
add eax, 2
add esp, 0xc
cmp ebx, eax
jb 0x448e32
lea esp, [esp]
mov dword [esi + ebx*4], 0xffffffff
mov ecx, dword [edi + 0x50]
dec ebx
add ecx, 2
cmp ebx, ecx
jae 0x448e20
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret