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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe4
push ebx
push esi
mov esi, dword [ebp + 0x14]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
push edi
jae 0x447f64
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x447f6d
test byte [ebp + 0x20], 2
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
je 0x446b13
test byte [ebp + 0x20], 4
je 0x446b05
mov ecx, dword [esi + 0x70]
cmp ecx, 0x3e8
jge 0x447f74
mov eax, dword [esi + 0x6c]
lea eax, [eax + ecx*8]
inc ecx
mov dword [esi + 0x70], ecx
jmp 0x446b08
lea eax, [ebp - 0x6c]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 4], ebx
mov dword [eax], ecx
mov dword [ebp + 0x1c], eax
movzx ecx, byte [edi]
xor edx, edx
cmp dword [esi + 0x44], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edx
mov dword [ebp + 0x14], ecx
je 0x446b37
cmp ebx, dword [esi + 0x54]
jb 0x446b37
cmp ebx, dword [esi + 0x58]
jbe 0x446b37
mov dword [esi + 0x48], 1
cmp ecx, 0x62
ja case.0x446b47.13
movzx eax, byte [ecx + 0x44868e]
jmp dword [eax*4 + 0x4485a6]
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x5f
jne 0x446b82
mov eax, dword [esi + 0x74]
xor ecx, ecx
cmp eax, edx
mov ch, byte [edi + 4]
mov cl, byte [edi + 5]
je 0x446b74
cmp ecx, 0xffff
je 0x446b9e
cmp ecx, dword [eax + 4]
je 0x446b9e
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x446bee
cmp cl, 0x5e
jne 0x446ba6
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
add eax, eax
cmp eax, dword [ebp + 0x10]
jge 0x446b74
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x446b74
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x446b7e
cmp cl, 0x60
jne 0x446bb7
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x446bf2
mov ecx, dword [ebp + 0x24]
inc ecx
push ecx
push 1
push 0
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446aaa
add esp, 0x20
cmp eax, 1
je 0x447e5b
test eax, eax
jne 0x44859e
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
add edi, eax
xor edx, edx
cmp ecx, edx
jne 0x446bfb
cmp byte [edi], 0x4e
jne 0x446d0c
add edi, 3
cmp dword [ebp + 0x14], 0x5d
jne 0x447efc
push 2
pop eax
jmp 0x447efe
mov edi, dword [esi + 0x74]
cmp edi, edx
je 0x448037
cmp dword [edi + 4], edx
jne 0x448037
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.0044aac0
mov eax, dword [edi + 0xc]
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0x1c]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x18], eax
jmp 0x446b13
movzx eax, byte [edi + 1]
mov dword [ebp + 0x18], eax
inc edi
inc edi
jmp 0x446b13
mov eax, dword [ebp + 0x24]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x18]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446aaa
add esp, 0x20
cmp eax, 1
je 0x446c97
test eax, eax
jne 0x44859e
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x446b47.82
cmp byte [edi], 0x4f
je 0x448030
test byte [ebp + 0x20], 1
jne 0x44804a
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446caa
mov eax, dword [esi + 0x60]
add edi, 3
mov dword [ebp + 0x10], eax
jmp 0x446b13
mov eax, dword [ebp + 0x24]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x18]
lea eax, [edi + 3]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446aaa
add esp, 0x20
cmp eax, 1
je 0x448030
test eax, eax
jne 0x44859e
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x446b47.83
test byte [ebp + 0x20], 1
jne 0x44804a
add edi, 3
jmp 0x446b13
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
sub ebx, eax
cmp ebx, dword [esi + 0x50]
jb 0x448030
jmp 0x446d0c
cmp dword [0x4673c0], edx
je 0x446da8
movzx eax, byte [edi + 1]
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x60], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0x50]
sub ecx, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov ecx, dword [esi + 0x58]
sub ecx, eax
mov dword [ebp - 0x50], ecx
mov ecx, ebx
sub ecx, eax
xor eax, eax
mov ah, byte [edi + 2]
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x4c], ecx
mov al, byte [edi + 3]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x48], eax
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x64]
push eax
call dword [0x4673c0]
test eax, eax
pop ecx
jg 0x448030
jl 0x44859e
add edi, 6
jmp 0x446b13
mov dword [ebp + 0x14], edi
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp + 0x24]
inc eax
push eax
push 0
push dword [ebp + 0x1c]
lea eax, [edi + 3]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446aaa
add esp, 0x20
cmp eax, 1
je 0x446dee
test eax, eax
jne 0x44859e
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446db6
mov al, byte [edi]
cmp al, 0x57
je 0x446dfc
cmp al, 0x4e
jne 0x448030
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446dfc
cmp byte [edi], 0x4f
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov dword [ebp + 0x10], eax
je 0x446d0c
cmp ebx, dword [ebp - 0x10]
je 0x446d0c
lea eax, [edi + 3]
cmp byte [eax], 0x13
mov dword [ebp - 0x14], eax
jne 0x446e40
mov ecx, dword [ebp + 0x18]
movzx eax, byte [edi + 4]
and ecx, 0xfffffff8
or eax, ecx
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x24]
inc eax
cmp byte [edi], 0x51
push eax
jne 0x447f06
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp - 0x14]
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
mov edi, dword [ebp + 0x14]
jmp 0x447f52
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x446b47.78
jmp 0x446b13
mov eax, dword [ebp + 0x24]
inc edi
inc eax
push eax
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446eae
jmp 0x446d0c
inc edi
mov eax, edi
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x4e
je 0x446ec5
mov ecx, dword [ebp + 0x24]
inc ecx
push ecx
push 0
push dword [ebp + 0x1c]
add eax, 3
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
jmp 0x446b13
xor ecx, ecx
mov ch, byte [edi + 1]
mov eax, edi
mov cl, byte [edi + 2]
sub eax, ecx
mov cl, byte [eax]
cmp cl, 0x5b
mov dword [ebp + 0x14], eax
jb 0x446f28
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx + 4]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx]
mov dword [ebp + 0x1c], edx
jmp 0x446f2c
and dword [ebp - 0x10], 0
cmp cl, 0x52
je 0x448041
cmp cl, 0x53
je 0x448041
cmp cl, 0x54
je 0x448041
cmp cl, 0x55
je 0x448041
cmp cl, 0x57
je 0x448041
cmp cl, 0x59
je 0x446f67
cmp cl, 0x5c
jne 0x446ff4
xor edx, edx
mov dh, byte [eax + 3]
mov dl, byte [eax + 4]
lea ecx, [edx + edx]
cmp ecx, dword [esi + 0x14]
mov dword [ebp - 0x18], edx
mov dword [esi + 0x64], edx
jl 0x446f86
mov dword [esi + 0x2c], 1
jmp 0x446fb8
mov edx, dword [esi + 0x10]
sub edx, dword [ebp - 0x18]
mov eax, dword [esi + 0xc]
mov edx, dword [eax + edx*4]
shl ecx, 2
mov dword [eax + ecx], edx
mov edx, dword [esi + 0xc]
mov eax, ebx
sub eax, dword [esi + 0x50]
mov dword [ecx + edx + 4], eax
mov edx, dword [ebp - 0x18]
lea eax, [edx + edx]
cmp dword [ebp + 0x10], eax
jg 0x446fb5
add eax, 2
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 0x74]
test ecx, ecx
je 0x446ff4
cmp dword [ecx + 4], edx
jne 0x446ff4
mov edi, ecx
mov eax, dword [edi]
mov dword [esi + 0x74], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0x58], eax
mov eax, dword [edi + 0x14]
shl eax, 2
push eax
push dword [edi + 0x10]
push dword [esi + 0xc]
call fcn.0044a210
mov eax, dword [ebp - 0x1c]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x18], eax
jmp 0x446b13
cmp byte [edi], 0x4f
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0x18], ecx
je 0x446d0c
cmp ebx, dword [ebp - 0x10]
je 0x446d0c
cmp byte [eax], 0x5b
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
cmp byte [edi], 0x51
mov dword [ebp + 0x20], eax
jne 0x447f2b
mov eax, dword [ebp + 0x24]
inc eax
push eax
push 0
push dword [ebp + 0x1c]
add edi, 3
push ecx
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
mov edi, dword [ebp + 0x14]
jmp 0x447ef6
cmp dword [esi + 0x30], edx
je 0x44705c
cmp ebx, dword [esi + 0x50]
je 0x448030
test byte [ebp + 0x18], 2
je case.0x446b47.1
mov ecx, dword [esi + 0x50]
cmp ebx, ecx
je 0x4470c6
cmp ebx, dword [esi + 0x54]
je 0x448030
cmp dword [esi + 0x18], edx
je 0x447099
cmp ebx, ecx
jbe 0x448030
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push ebx
call fcn.00448ee8
add esp, 0x10
test eax, eax
je 0x448030
jmp 0x4470c6
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb 0x448030
mov ecx, ebx
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [esi + 0x20]
jne 0x448030
cmp eax, 1
je 0x4470c6
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x21]
jne 0x448030
inc edi
jmp 0x446b13
cmp ebx, dword [esi + 0x50]
jmp 0x4470c0
mov eax, dword [esi + 0x68]
add eax, dword [esi + 0x50]
cmp ebx, eax
jmp 0x4470c0
test byte [ebp + 0x18], 2
je 0x447123
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44711e
cmp dword [esi + 0x18], edx
je 0x4470fc
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448e76
jmp 0x44708c
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x448030
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x448030
cmp ecx, 1
je 0x4470c6
mov al, byte [ebx + 1]
jmp 0x4470bd
cmp dword [esi + 0x34], edx
jmp 0x4470c0
cmp dword [esi + 0x34], edx
jne 0x448030
cmp dword [esi + 0x3c], edx
jne case.0x446b47.18
mov eax, dword [esi + 0x54]
cmp ebx, eax
je 0x4470c6
cmp dword [esi + 0x18], edx
je 0x44715f
cmp ebx, eax
jae 0x448030
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448e76
add esp, 0x10
test eax, eax
je 0x448030
jmp 0x447188
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x448030
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x448030
cmp ecx, 1
je 0x447188
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
jne 0x448030
mov eax, dword [esi + 0x54]
sub eax, dword [esi + 0x1c]
jmp 0x4470d7
cmp ebx, dword [esi + 0x54]
jb 0x448030
jmp 0x4470c6
cmp ebx, dword [esi + 0x50]
je 0x4471b8
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x4471b8
xor ecx, ecx
inc ecx
jmp 0x4471ba
xor ecx, ecx
cmp ebx, dword [esi + 0x54]
jae 0x4471d2
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x4471d0
xor eax, eax
inc eax
jmp 0x4471d4
xor edx, edx
xor eax, eax
mov dl, byte [edi]
inc edi
cmp dl, 4
jne 0x4471e5
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x4471ec
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x446b13
jmp 0x448030
test byte [ebp + 0x18], 4
jne case.0x446b47.12
cmp dword [esi + 0x18], edx
je 0x447227
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x446b47.12
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448e76
add esp, 0x10
test eax, eax
jne 0x448030
jmp case.0x446b47.12
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x54]
sub ecx, eax
cmp ebx, ecx
ja case.0x446b47.12
mov cl, byte [ebx]
cmp cl, byte [esi + 0x20]
jne case.0x446b47.12
cmp eax, 1
je 0x448030
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x448030
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x54]
jae 0x448030
jmp 0x4470c6
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x4470c0
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x447091
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x4470c0
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x447091
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x4470c0
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x447091
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae 0x448030
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb 0x448030
cmp eax, 0xc
jbe 0x4470c6
cmp eax, 0xd
je 0x447342
cmp eax, 0x85
je 0x4470c6
cmp eax, 0x2027
jbe 0x448030
cmp eax, 0x2029
ja 0x448030
jmp 0x4470c6
cmp ebx, ecx
jae 0x4470c6
cmp byte [ebx], 0xa
jne 0x4470c6
inc ebx
jmp 0x4470c6
xor eax, eax
mov ah, byte [edi + 1]
add edi, 3
mov al, byte [edi - 1]
add eax, eax
cmp eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
jge 0x447381
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
cmp ecx, edx
jl 0x447381
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x447387
mov edx, dword [esi + 0x54]
sub edx, ebx
inc edx
mov al, byte [edi]
cmp al, 0x40
mov dword [ebp - 0x18], edx
jb 0x447462
cmp al, 0x45
jbe 0x4473d0
cmp al, 0x47
ja 0x447462
xor ecx, ecx
cmp al, 0x47
sete cl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [ebp - 0xc], ecx
xor ecx, ecx
mov ch, byte [edi + 1]
mov al, byte [edi + 4]
mov cl, byte [edi + 2]
test eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], ecx
jne 0x4473cb
mov dword [ebp - 4], connect
add edi, 5
jmp 0x4473fe
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45a2d4]
movsx eax, byte [eax + 0x45a2dc]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x4473fe
mov dword [ebp - 4], connect
test edx, edx
je 0x446b13
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x44743c
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00446a4c
test eax, eax
pop ecx
pop ecx
je 0x448030
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x10]
jle 0x447410
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 4]
je 0x446b13
cmp dword [ebp - 0xc], 0
je 0x4481e4
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push eax
jmp 0x4481c5
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00446a4c
test eax, eax
pop ecx
pop ecx
je 0x448030
add ebx, dword [ebp - 0x18]
jmp 0x446b13
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp - 0x14], eax
mov al, byte [edi]
cmp al, 0x40
jb 0x4474fc
cmp al, 0x45
jbe 0x4474cc
cmp al, 0x47
ja 0x4474fc
xor ecx, ecx
cmp al, 0x47
sete cl
xor eax, eax
mov ah, byte [edi + 3]
mov dword [ebp - 0xc], ecx
xor ecx, ecx
mov ch, byte [edi + 1]
mov al, byte [edi + 4]
mov cl, byte [edi + 2]
test eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], ecx
jne 0x4474c7
mov dword [ebp - 4], connect
add edi, 5
jmp 0x447505
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45a2d4]
movsx eax, byte [eax + 0x45a2dc]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x447505
mov dword [ebp - 4], connect
jmp 0x447505
xor ecx, ecx
inc ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], ecx
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447542
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x14]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je 0x448030
inc dword [ebp + 0x14]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + 0x14], ecx
jle 0x44750f
cmp ecx, dword [ebp - 4]
je 0x446b13
cmp dword [ebp - 0xc], 0
mov dword [ebp + 0x14], ecx
je 0x4482ab
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push eax
jmp 0x44828c
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, 1
jl 0x448030
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jne 0x448030
jmp 0x446c59
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, 1
jl 0x448030
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx ecx, byte [edi + 1]
mov dl, byte [edx + eax]
inc ebx
cmp byte [ecx + eax], dl
jmp 0x447579
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
add edi, 3
jmp 0x447623
mov dword [ebp - 8], 1
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
xor eax, eax
cmp byte [edi], 0x20
sete al
mov dword [ebp - 0xc], eax
jmp 0x4475b0
mov dword [ebp - 8], 1
xor ecx, ecx
inc edi
jmp 0x44761c
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x4475df
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
inc edi
jmp 0x447623
movzx eax, byte [edi]
sub eax, 0x19
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45a2d4]
movsx eax, byte [eax + 0x45a2dc]
inc edi
test eax, eax
mov dword [ebp - 4], eax
jne 0x447623
mov dword [ebp - 4], connect
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg 0x448030
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x18], 1
mov dword [ebp - 0x10], edx
je 0x4476ea
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x10], eax
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447671
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447655
cmp ecx, dword [ebp - 4]
je 0x446b13
cmp dword [ebp - 0xc], 0
jne 0x44831a
mov dword [ebp - 0xc], ebx
jmp 0x44769f
cmp ebx, dword [esi + 0x54]
jae 0x4476a4
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x10], eax
jne 0x4476a4
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447689
cmp dword [ebp - 8], 0
jne 0x446b13
cmp ebx, dword [ebp - 0xc]
jb 0x448030
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
dec ebx
test eax, eax
jne 0x44859e
cmp ebx, dword [ebp - 0xc]
jae 0x4476be
jmp 0x448030
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447708
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
jne 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4476f4
cmp ecx, dword [ebp - 4]
je 0x446b13
cmp dword [ebp - 0xc], 0
jne 0x448375
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov eax, ecx
jge 0x447738
cmp ebx, dword [esi + 0x54]
jae 0x447738
movzx ecx, byte [ebx]
cmp edx, ecx
jne 0x447738
inc ebx
inc eax
cmp eax, dword [ebp - 4]
jl 0x447725
cmp dword [ebp - 8], 0
jne 0x446b13
cmp ebx, dword [ebp - 0xc]
jb 0x448030
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
dec ebx
test eax, eax
jne 0x44859e
cmp ebx, dword [ebp - 0xc]
jae 0x447752
jmp 0x448030
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx ecx, byte [ebx]
inc edi
inc ebx
test byte [ebp + 0x18], 1
je 0x4477aa
mov eax, dword [esi + 0x24]
movzx edx, byte [edi]
mov cl, byte [ecx + eax]
inc edi
cmp byte [edx + eax], cl
jne 0x446b13
jmp 0x448030
movzx eax, byte [edi]
inc edi
cmp eax, ecx
jmp 0x44779f
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
add edi, 3
jmp 0x44783f
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
xor eax, eax
cmp byte [edi], 0x2d
sete al
mov dword [ebp - 0xc], eax
jmp 0x4477bd
mov dword [ebp - 8], 1
xor ecx, ecx
inc edi
jmp 0x447838
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x4477e5
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
inc edi
jmp 0x44783f
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp - 8], 1
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
jmp 0x4477bd
movzx eax, byte [edi]
sub eax, 0x26
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45a2d4]
movsx eax, byte [eax + 0x45a2dc]
inc edi
test eax, eax
mov dword [ebp - 4], eax
jne 0x44783f
mov dword [ebp - 4], connect
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg 0x448030
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x18], 1
mov dword [ebp - 0x10], edx
je 0x447906
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x10], eax
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x44788d
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447871
cmp ecx, dword [ebp - 4]
je 0x446b13
cmp dword [ebp - 0xc], 0
jne 0x4483c9
mov dword [ebp - 0xc], ebx
jmp 0x4478bb
cmp ebx, dword [esi + 0x54]
jae 0x4478c0
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x10], eax
je 0x4478c0
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4478a5
cmp dword [ebp - 8], 0
jne 0x446b13
cmp ebx, dword [ebp - 0xc]
jb 0x448030
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x4478da
jmp 0x448030
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447924
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
je 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447910
cmp ecx, dword [ebp - 4]
je 0x446b13
cmp dword [ebp - 0xc], 0
jne 0x448424
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov eax, ecx
jge 0x447954
cmp ebx, dword [esi + 0x54]
jae 0x447954
movzx ecx, byte [ebx]
cmp edx, ecx
je 0x447954
inc ebx
inc eax
cmp eax, dword [ebp - 4]
jl 0x447941
cmp dword [ebp - 8], 0
jne 0x446b13
cmp ebx, dword [ebp - 0xc]
jb 0x448030
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x44796e
jmp 0x448030
xor ecx, ecx
mov ch, byte [edi + 1]
mov dword [ebp - 0xc], 1
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], ecx
add edi, 3
jmp 0x447a3d
xor eax, eax
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
xor eax, eax
cmp byte [edi], 0x3a
sete al
mov dword [ebp - 0xc], eax
jmp 0x4479ac
mov dword [ebp - 8], 1
xor ecx, ecx
mov dword [ebp - 0x10], ecx
inc edi
jmp 0x447a36
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x4479da
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
inc edi
jmp 0x447a3d
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov dword [ebp - 8], 1
mov al, byte [edi + 2]
mov dword [ebp - 4], eax
jmp 0x4479ac
movzx eax, byte [edi]
sub eax, 0x33
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45a2d4]
movsx eax, byte [eax + 0x45a2dc]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x447a3d
mov dword [ebp - 4], connect
movzx eax, byte [edi]
mov edx, dword [esi + 0x54]
mov dword [ebp - 0x14], eax
mov eax, edx
sub eax, ebx
inc edi
cmp ecx, eax
jg 0x448030
test ecx, ecx
jle 0x447c45
mov eax, dword [ebp - 0x14]
add eax, 0xfffffffb
cmp eax, 0xa
ja case.0x448507.13
jmp dword [eax*4 + 0x4486f2]
test byte [ebp + 0x18], 4
jne case.0x447a6a.12
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447c45
cmp dword [esi + 0x18], 0
je 0x447aaf
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x447ad7
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448e76
add esp, 0x10
test eax, eax
jne 0x448030
mov ecx, dword [ebp - 0x10]
jmp 0x447ad7
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x54]
sub edx, eax
cmp ebx, edx
ja 0x447ad7
mov dl, byte [ebx]
cmp dl, byte [esi + 0x20]
jne 0x447ad7
cmp eax, 1
je 0x448030
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x448030
inc ebx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447a85
jmp 0x447c45
add ebx, ecx
jmp 0x447c45
cmp ecx, 1
mov dword [ebp + 0x14], 1
jl 0x447c45
cmp ebx, edx
jae 0x448030
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x448030
cmp eax, 0xc
jle 0x447b32
cmp eax, 0xd
je 0x447b28
cmp eax, 0x85
jne 0x448030
jmp 0x447b32
cmp ebx, edx
jae 0x447b32
cmp byte [ebx], 0xa
jne 0x447b32
inc ebx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447afc
jmp 0x447c45
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447c45
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
jne 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447b50
jmp 0x447c45
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447c45
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
je 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447b80
jmp 0x447c45
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447c45
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
jne 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447bb0
jmp 0x447c45
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447c45
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
je 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447bd9
jmp 0x447c45
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447c45
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
jne 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447c02
jmp 0x447c45
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447c45
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
je 0x448030
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447c2b
mov edx, dword [ebp - 4]
cmp ecx, edx
je 0x446b13
cmp dword [ebp - 0xc], 0
jne 0x44847f
mov eax, dword [ebp - 0x14]
add eax, 0xfffffffb
cmp eax, 0xa
mov dword [ebp - 0xc], ebx
ja case.0x448507.13
jmp dword [eax*4 + 0x44871e]
test byte [ebp + 0x18], 4
jne case.0x447c6c.12
cmp ecx, edx
mov dword [ebp + 0x14], ecx
jge 0x447e15
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x447e15
cmp dword [esi + 0x18], 0
je 0x447caf
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448e76
add esp, 0x10
test eax, eax
jne 0x447e15
jmp 0x447cd4
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x447cd4
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x447cd4
cmp ecx, 1
je 0x447e15
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x447e15
inc ebx
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x447c84
jmp 0x447e15
mov eax, dword [esi + 0x54]
sub edx, ecx
mov ecx, edx
sub eax, ebx
cmp ecx, eax
jbe 0x447cf4
mov ecx, eax
add ebx, ecx
jmp 0x447e15
cmp ecx, edx
jge 0x447e15
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x447e15
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x447d26
inc ebx
cmp ebx, edx
jae 0x447e15
cmp byte [ebx], 0xa
jne 0x447d41
jmp 0x447d40
cmp eax, 0xa
je 0x447d40
cmp eax, 0xb
je 0x447d40
cmp eax, 0xc
je 0x447d40
cmp eax, 0x85
jne 0x447e15
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447d06
jmp 0x447e15
cmp ecx, edx
jge 0x447e15
cmp ebx, dword [esi + 0x54]
jae 0x447e15
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
jne 0x447e15
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447d54
jmp 0x447e15
cmp ecx, edx
jge 0x447e15
cmp ebx, dword [esi + 0x54]
jae 0x447e15
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
je 0x447e15
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447d81
jmp 0x447e15
cmp ecx, edx
jge 0x447e15
cmp ebx, dword [esi + 0x54]
jae 0x447e15
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
jne 0x447e15
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447da3
jmp 0x447e15
cmp ecx, edx
jge 0x447e15
cmp ebx, dword [esi + 0x54]
jae 0x447e15
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
je 0x447e15
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447dc1
jmp 0x447e15
cmp ecx, edx
jge 0x447e15
cmp ebx, dword [esi + 0x54]
jae 0x447e15
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
jne 0x447e15
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447ddf
jmp 0x447e15
cmp ecx, edx
jge 0x447e15
cmp ebx, dword [esi + 0x54]
jae 0x447e15
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x447e15
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447dfd
cmp dword [ebp - 8], 0
jne 0x446b13
cmp ebx, dword [ebp - 0xc]
jb 0x448030
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
dec ebx
test eax, eax
jne 0x44859e
cmp ebx, dword [ebp - 0xc]
jae 0x447e2f
jmp 0x448030
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
lea edi, [edi + eax + 3]
jmp 0x447e73
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x447e69
jmp 0x446bfb
xor eax, eax
mov ah, byte [edi + 3]
mov al, byte [edi + 4]
mov dword [ebp - 0x18], eax
add eax, eax
cmp eax, dword [esi + 0x14]
jl 0x447f7b
cmp ecx, 0x5b
mov dword [ebp + 0x20], 2
jge 0x447edc
mov dword [ebp + 0x20], edx
jmp 0x447edc
mov eax, dword [ebp + 0x24]
inc eax
push eax
push dword [ebp + 0x20]
movzx eax, byte [edi]
push dword [ebp + 0x1c]
movzx eax, byte [eax + 0x45a608]
push dword [ebp + 0x18]
add eax, edi
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
cmp byte [eax + edi], 0x4e
je 0x447ea4
movzx eax, byte [edi]
movzx eax, byte [eax + 0x45a608]
add edi, eax
or dword [ebp + 0x20], 4
jmp 0x447f59
xor eax, eax
or eax, 4
mov dword [ebp + 0x20], eax
jmp 0x447f59
push 2
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
mov edi, dword [ebp - 0x14]
jmp 0x447f52
mov ecx, dword [ebp + 0x24]
inc ecx
push ecx
push eax
push dword [ebp + 0x1c]
push dword [ebp - 0x1c]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
add edi, 3
mov dword [ebp + 0x20], 4
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x446aca
inc dword [esi]
push 0xfffffffffffffff8
jmp 0x44859d
push 0xffffffffffffffeb
jmp 0x44859d
push 0xffffffffffffffea
jmp 0x44859d
mov ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 2
mov dword [ebp - 0x10], ecx
add ecx, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xc], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov ecx, dword [esi + 0x64]
mov dword [ebp - 0x14], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x50]
cmp dword [ebp + 0x14], 0x5c
mov dword [eax], ecx
jne 0x447fbd
mov dword [ebp + 0x20], 2
jmp 0x447fc1
and dword [ebp + 0x20], 0
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
movzx eax, byte [edi]
push dword [ebp + 0x20]
movzx eax, byte [eax + 0x45a608]
push dword [ebp + 0x1c]
add eax, edi
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x64], eax
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x447fc8
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx], edx
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0xc]
mov dword [eax + ecx + 4], edx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 4]
mov dword [ecx + eax*4], edx
xor eax, eax
jmp 0x44859e
cmp dword [esi + 0x40], edx
je 0x448041
cmp ebx, dword [esi + 0x58]
je 0x448030
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], eax
xor eax, eax
inc eax
jmp 0x44859e
mov eax, dword [esi + 0x4c]
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
add ecx, eax
cmp ecx, eax
mov dword [ebp + 0x14], ecx
jne 0x44806b
mov dword [ebp - 0x30], edx
jmp 0x448076
xor eax, eax
mov ah, byte [ecx + 3]
mov al, byte [ecx + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x10]
add edi, 3
cmp eax, 0x1e
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x20], eax
jg 0x44809e
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x24], ecx
jmp 0x4480ba
shl eax, 2
push eax
call dword [0x465148]
test eax, eax
pop ecx
mov dword [ebp - 0x24], eax
jne 0x4480b7
push 0xfffffffffffffffa
jmp 0x44859d
mov eax, dword [ebp - 0x20]
shl eax, 2
push eax
push dword [esi + 0xc]
push dword [ebp - 0x24]
call fcn.0044a210
mov eax, dword [esi + 0x58]
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov dword [esi + 0x58], ebx
mov al, byte [eax]
cmp al, 0x5b
sbb edi, edi
and edi, 0xfffffffe
inc edi
inc edi
inc ecx
mov dword [ebp - 8], ecx
push dword [ebp - 8]
movzx eax, al
movzx eax, byte [eax + 0x45a608]
add eax, dword [ebp + 0x14]
push edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00446aaa
add esp, 0x20
cmp eax, 1
je 0x448171
test eax, eax
jne 0x44859e
lea eax, [ebp - 0x34]
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0x20]
shl eax, 2
push eax
push dword [ebp - 0x24]
push dword [esi + 0xc]
call fcn.0044a210
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov ch, byte [eax + 1]
add esp, 0xc
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 0x14], eax
mov al, byte [eax]
cmp al, 0x4e
je 0x4480ea
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0x24], eax
je 0x448030
push dword [ebp - 0x24]
call dword [0x46514c]
pop ecx
jmp 0x448030
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0x24], eax
je 0x44804a
push dword [ebp - 0x24]
call dword [0x46514c]
pop ecx
jmp 0x44804a
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x448030
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00446a4c
test eax, eax
pop ecx
pop ecx
je 0x448030
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
je 0x448195
jmp 0x44859e
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x14], ecx
jge 0x44821d
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00446a4c
test eax, eax
pop ecx
pop ecx
je 0x448214
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x4481ef
cmp ebx, dword [ebp - 0xc]
jb 0x448030
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
sub ebx, dword [ebp - 0x18]
cmp ebx, dword [ebp - 0xc]
jae 0x448224
jmp 0x448030
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x448030
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x14]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je 0x448030
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
je 0x448252
jmp 0x44859e
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
jge 0x4482e7
cmp ebx, dword [esi + 0x54]
jae 0x4482de
movzx eax, byte [ebx]
mov ecx, eax
xor edx, edx
and ecx, 7
inc edx
shl edx, cl
mov ecx, dword [ebp - 0x14]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x4482de
inc ebx
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x4482b3
cmp ebx, dword [ebp - 0xc]
jb 0x448030
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
jne 0x44859e
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x4482ee
jmp 0x448030
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x448356
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x448030
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x448030
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
je 0x448327
jmp 0x44859e
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x4483aa
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x448030
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x448030
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
je 0x448382
jmp 0x44859e
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x448405
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x448030
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x448030
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
je 0x4483d6
jmp 0x44859e
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x448459
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x448030
cmp ebx, dword [esi + 0x54]
jae 0x448030
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x448030
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
je 0x448431
jmp 0x44859e
push 0xfffffffffffffff2
jmp 0x44859d
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push eax
jmp 0x44857b
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x448030
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x448030
test byte [ebp + 0x18], 4
jne 0x4484f4
cmp dword [esi + 0x18], 0
je 0x4484cf
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00448e76
add esp, 0x10
test eax, eax
jne 0x448030
jmp 0x4484f4
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x4484f4
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x4484f4
cmp ecx, 1
je 0x448030
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x448030
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ebx]
add ecx, 0xfffffffb
inc ebx
cmp ecx, 0xa
ja case.0x448507.13
jmp dword [ecx*4 + 0x44874a]
cmp eax, 0xa
jb 0x448030
cmp eax, 0xc
jbe case.0x448507.11
cmp eax, 0xd
je 0x448528
cmp eax, 0x85
jmp 0x44853c
cmp ebx, dword [esi + 0x54]
jae case.0x448507.11
cmp byte [ebx], 0xa
jne case.0x448507.11
inc ebx
jmp case.0x448507.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jne 0x448030
jmp case.0x448507.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x44856f
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x44853c
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x44856f
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44853c
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x448030
inc dword [ebp + 0x14]
push dword [ebp - 8]
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push edi
push ebx
call fcn.00446aaa
add esp, 0x20
test eax, eax
je 0x448492
jmp 0x44859e
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret