Function at 0x44639e
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 0x447858
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x447861
test byte [ebp + 0x20], 2
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
je 0x446407
test byte [ebp + 0x20], 4
je 0x4463f9
mov ecx, dword [esi + 0x70]
cmp ecx, 0x3e8
jge 0x447868
mov eax, dword [esi + 0x6c]
lea eax, [eax + ecx*8]
inc ecx
mov dword [esi + 0x70], ecx
jmp 0x4463fc
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 0x44642b
cmp ebx, dword [esi + 0x54]
jb 0x44642b
cmp ebx, dword [esi + 0x58]
jbe 0x44642b
mov dword [esi + 0x48], 1
cmp ecx, 0x62
ja case.0x44643b.13
movzx eax, byte [ecx + 0x447f82]
jmp dword [eax*4 + 0x447e9a]
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x5f
jne 0x446476
mov eax, dword [esi + 0x74]
xor ecx, ecx
cmp eax, edx
mov ch, byte [edi + 4]
mov cl, byte [edi + 5]
je 0x446468
cmp ecx, 0xffff
je 0x446492
cmp ecx, dword [eax + 4]
je 0x446492
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x4464e2
cmp cl, 0x5e
jne 0x44649a
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
add eax, eax
cmp eax, dword [ebp + 0x10]
jge 0x446468
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x446468
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x446472
cmp cl, 0x60
jne 0x4464ab
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x4464e6
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.0044639e
add esp, 0x20
cmp eax, 1
je 0x44774f
test eax, eax
jne 0x447e92
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
add edi, eax
xor edx, edx
cmp ecx, edx
jne 0x4464ef
cmp byte [edi], 0x4e
jne 0x446600
add edi, 3
cmp dword [ebp + 0x14], 0x5d
jne 0x4477f0
push 2
pop eax
jmp 0x4477f2
mov edi, dword [esi + 0x74]
cmp edi, edx
je 0x44792b
cmp dword [edi + 4], edx
jne 0x44792b
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.0044a380
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 0x446407
movzx eax, byte [edi + 1]
mov dword [ebp + 0x18], eax
inc edi
inc edi
jmp 0x446407
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.0044639e
add esp, 0x20
cmp eax, 1
je 0x44658b
test eax, eax
jne 0x447e92
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x44643b.82
cmp byte [edi], 0x4f
je 0x447924
test byte [ebp + 0x20], 1
jne 0x44793e
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x44659e
mov eax, dword [esi + 0x60]
add edi, 3
mov dword [ebp + 0x10], eax
jmp 0x446407
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.0044639e
add esp, 0x20
cmp eax, 1
je 0x447924
test eax, eax
jne 0x447e92
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x44643b.83
test byte [ebp + 0x20], 1
jne 0x44793e
add edi, 3
jmp 0x446407
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
sub ebx, eax
cmp ebx, dword [esi + 0x50]
jb 0x447924
jmp 0x446600
cmp dword [0x4633c0], edx
je 0x44669c
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 [0x4633c0]
test eax, eax
pop ecx
jg 0x447924
jl 0x447e92
add edi, 6
jmp 0x446407
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.0044639e
add esp, 0x20
cmp eax, 1
je 0x4466e2
test eax, eax
jne 0x447e92
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x4466aa
mov al, byte [edi]
cmp al, 0x57
je 0x4466f0
cmp al, 0x4e
jne 0x447924
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x4466f0
cmp byte [edi], 0x4f
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov dword [ebp + 0x10], eax
je 0x446600
cmp ebx, dword [ebp - 0x10]
je 0x446600
lea eax, [edi + 3]
cmp byte [eax], 0x13
mov dword [ebp - 0x14], eax
jne 0x446734
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 0x4477fa
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp - 0x14]
push ebx
call fcn.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
mov edi, dword [ebp + 0x14]
jmp 0x447846
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x44643b.78
jmp 0x446407
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.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x4467a2
jmp 0x446600
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 0x4467b9
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.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
jmp 0x446407
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 0x44681c
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 0x446820
and dword [ebp - 0x10], 0
cmp cl, 0x52
je 0x447935
cmp cl, 0x53
je 0x447935
cmp cl, 0x54
je 0x447935
cmp cl, 0x55
je 0x447935
cmp cl, 0x57
je 0x447935
cmp cl, 0x59
je 0x44685b
cmp cl, 0x5c
jne 0x4468e8
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 0x44687a
mov dword [esi + 0x2c], 1
jmp 0x4468ac
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 0x4468a9
add eax, 2
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 0x74]
test ecx, ecx
je 0x4468e8
cmp dword [ecx + 4], edx
jne 0x4468e8
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.00449ac0
mov eax, dword [ebp - 0x1c]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x18], eax
jmp 0x446407
cmp byte [edi], 0x4f
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0x18], ecx
je 0x446600
cmp ebx, dword [ebp - 0x10]
je 0x446600
cmp byte [eax], 0x5b
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
cmp byte [edi], 0x51
mov dword [ebp + 0x20], eax
jne 0x44781f
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.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
mov edi, dword [ebp + 0x14]
jmp 0x4477ea
cmp dword [esi + 0x30], edx
je 0x446950
cmp ebx, dword [esi + 0x50]
je 0x447924
test byte [ebp + 0x18], 2
je case.0x44643b.1
mov ecx, dword [esi + 0x50]
cmp ebx, ecx
je 0x4469ba
cmp ebx, dword [esi + 0x54]
je 0x447924
cmp dword [esi + 0x18], edx
je 0x44698d
cmp ebx, ecx
jbe 0x447924
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push ebx
call fcn.004487dc
add esp, 0x10
test eax, eax
je 0x447924
jmp 0x4469ba
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb 0x447924
mov ecx, ebx
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [esi + 0x20]
jne 0x447924
cmp eax, 1
je 0x4469ba
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x21]
jne 0x447924
inc edi
jmp 0x446407
cmp ebx, dword [esi + 0x50]
jmp 0x4469b4
mov eax, dword [esi + 0x68]
add eax, dword [esi + 0x50]
cmp ebx, eax
jmp 0x4469b4
test byte [ebp + 0x18], 2
je 0x446a17
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x446a12
cmp dword [esi + 0x18], edx
je 0x4469f0
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.0044876a
jmp 0x446980
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x447924
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x447924
cmp ecx, 1
je 0x4469ba
mov al, byte [ebx + 1]
jmp 0x4469b1
cmp dword [esi + 0x34], edx
jmp 0x4469b4
cmp dword [esi + 0x34], edx
jne 0x447924
cmp dword [esi + 0x3c], edx
jne case.0x44643b.18
mov eax, dword [esi + 0x54]
cmp ebx, eax
je 0x4469ba
cmp dword [esi + 0x18], edx
je 0x446a53
cmp ebx, eax
jae 0x447924
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.0044876a
add esp, 0x10
test eax, eax
je 0x447924
jmp 0x446a7c
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x447924
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x447924
cmp ecx, 1
je 0x446a7c
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
jne 0x447924
mov eax, dword [esi + 0x54]
sub eax, dword [esi + 0x1c]
jmp 0x4469cb
cmp ebx, dword [esi + 0x54]
jb 0x447924
jmp 0x4469ba
cmp ebx, dword [esi + 0x50]
je 0x446aac
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x446aac
xor ecx, ecx
inc ecx
jmp 0x446aae
xor ecx, ecx
cmp ebx, dword [esi + 0x54]
jae 0x446ac6
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x446ac4
xor eax, eax
inc eax
jmp 0x446ac8
xor edx, edx
xor eax, eax
mov dl, byte [edi]
inc edi
cmp dl, 4
jne 0x446ad9
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x446ae0
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x446407
jmp 0x447924
test byte [ebp + 0x18], 4
jne case.0x44643b.12
cmp dword [esi + 0x18], edx
je 0x446b1b
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x44643b.12
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.0044876a
add esp, 0x10
test eax, eax
jne 0x447924
jmp case.0x44643b.12
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x54]
sub ecx, eax
cmp ebx, ecx
ja case.0x44643b.12
mov cl, byte [ebx]
cmp cl, byte [esi + 0x20]
jne case.0x44643b.12
cmp eax, 1
je 0x447924
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x447924
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x54]
jae 0x447924
jmp 0x4469ba
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x4469b4
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x446985
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x4469b4
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x446985
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x4469b4
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x446985
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae 0x447924
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb 0x447924
cmp eax, 0xc
jbe 0x4469ba
cmp eax, 0xd
je 0x446c36
cmp eax, 0x85
je 0x4469ba
cmp eax, 0x2027
jbe 0x447924
cmp eax, 0x2029
ja 0x447924
jmp 0x4469ba
cmp ebx, ecx
jae 0x4469ba
cmp byte [ebx], 0xa
jne 0x4469ba
inc ebx
jmp 0x4469ba
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 0x446c75
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
cmp ecx, edx
jl 0x446c75
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x446c7b
mov edx, dword [esi + 0x54]
sub edx, ebx
inc edx
mov al, byte [edi]
cmp al, 0x40
mov dword [ebp - 0x18], edx
jb 0x446d56
cmp al, 0x45
jbe 0x446cc4
cmp al, 0x47
ja 0x446d56
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 0x446cbf
mov dword [ebp - 4], connect
add edi, 5
jmp 0x446cf2
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45829c]
movsx eax, byte [eax + 0x4582a4]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x446cf2
mov dword [ebp - 4], connect
test edx, edx
je 0x446407
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446d30
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00446340
test eax, eax
pop ecx
pop ecx
je 0x447924
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x10]
jle 0x446d04
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 4]
je 0x446407
cmp dword [ebp - 0xc], 0
je 0x447ad8
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 0x447ab9
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00446340
test eax, eax
pop ecx
pop ecx
je 0x447924
add ebx, dword [ebp - 0x18]
jmp 0x446407
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp - 0x14], eax
mov al, byte [edi]
cmp al, 0x40
jb 0x446df0
cmp al, 0x45
jbe 0x446dc0
cmp al, 0x47
ja 0x446df0
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 0x446dbb
mov dword [ebp - 4], connect
add edi, 5
jmp 0x446df9
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45829c]
movsx eax, byte [eax + 0x4582a4]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x446df9
mov dword [ebp - 4], connect
jmp 0x446df9
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 0x446e36
cmp ebx, dword [esi + 0x54]
jae 0x447924
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 0x447924
inc dword [ebp + 0x14]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + 0x14], ecx
jle 0x446e03
cmp ecx, dword [ebp - 4]
je 0x446407
cmp dword [ebp - 0xc], 0
mov dword [ebp + 0x14], ecx
je 0x447b9f
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push eax
jmp 0x447b80
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, 1
jl 0x447924
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jne 0x447924
jmp 0x44654d
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, 1
jl 0x447924
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 0x446e6d
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
add edi, 3
jmp 0x446f17
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 0x446ea4
mov dword [ebp - 8], 1
xor ecx, ecx
inc edi
jmp 0x446f10
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x446ed3
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
inc edi
jmp 0x446f17
movzx eax, byte [edi]
sub eax, 0x19
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45829c]
movsx eax, byte [eax + 0x4582a4]
inc edi
test eax, eax
mov dword [ebp - 4], eax
jne 0x446f17
mov dword [ebp - 4], connect
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg 0x447924
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x18], 1
mov dword [ebp - 0x10], edx
je 0x446fde
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 0x446f65
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446f49
cmp ecx, dword [ebp - 4]
je 0x446407
cmp dword [ebp - 0xc], 0
jne 0x447c0e
mov dword [ebp - 0xc], ebx
jmp 0x446f93
cmp ebx, dword [esi + 0x54]
jae 0x446f98
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x10], eax
jne 0x446f98
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x446f7d
cmp dword [ebp - 8], 0
jne 0x446407
cmp ebx, dword [ebp - 0xc]
jb 0x447924
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.0044639e
add esp, 0x20
dec ebx
test eax, eax
jne 0x447e92
cmp ebx, dword [ebp - 0xc]
jae 0x446fb2
jmp 0x447924
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446ffc
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
jne 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446fe8
cmp ecx, dword [ebp - 4]
je 0x446407
cmp dword [ebp - 0xc], 0
jne 0x447c69
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov eax, ecx
jge 0x44702c
cmp ebx, dword [esi + 0x54]
jae 0x44702c
movzx ecx, byte [ebx]
cmp edx, ecx
jne 0x44702c
inc ebx
inc eax
cmp eax, dword [ebp - 4]
jl 0x447019
cmp dword [ebp - 8], 0
jne 0x446407
cmp ebx, dword [ebp - 0xc]
jb 0x447924
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.0044639e
add esp, 0x20
dec ebx
test eax, eax
jne 0x447e92
cmp ebx, dword [ebp - 0xc]
jae 0x447046
jmp 0x447924
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx ecx, byte [ebx]
inc edi
inc ebx
test byte [ebp + 0x18], 1
je 0x44709e
mov eax, dword [esi + 0x24]
movzx edx, byte [edi]
mov cl, byte [ecx + eax]
inc edi
cmp byte [edx + eax], cl
jne 0x446407
jmp 0x447924
movzx eax, byte [edi]
inc edi
cmp eax, ecx
jmp 0x447093
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
add edi, 3
jmp 0x447133
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 0x4470b1
mov dword [ebp - 8], 1
xor ecx, ecx
inc edi
jmp 0x44712c
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x4470d9
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
inc edi
jmp 0x447133
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 0x4470b1
movzx eax, byte [edi]
sub eax, 0x26
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45829c]
movsx eax, byte [eax + 0x4582a4]
inc edi
test eax, eax
mov dword [ebp - 4], eax
jne 0x447133
mov dword [ebp - 4], connect
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg 0x447924
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x18], 1
mov dword [ebp - 0x10], edx
je 0x4471fa
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 0x447181
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447165
cmp ecx, dword [ebp - 4]
je 0x446407
cmp dword [ebp - 0xc], 0
jne 0x447cbd
mov dword [ebp - 0xc], ebx
jmp 0x4471af
cmp ebx, dword [esi + 0x54]
jae 0x4471b4
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x10], eax
je 0x4471b4
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447199
cmp dword [ebp - 8], 0
jne 0x446407
cmp ebx, dword [ebp - 0xc]
jb 0x447924
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.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x4471ce
jmp 0x447924
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447218
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
je 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447204
cmp ecx, dword [ebp - 4]
je 0x446407
cmp dword [ebp - 0xc], 0
jne 0x447d18
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov eax, ecx
jge 0x447248
cmp ebx, dword [esi + 0x54]
jae 0x447248
movzx ecx, byte [ebx]
cmp edx, ecx
je 0x447248
inc ebx
inc eax
cmp eax, dword [ebp - 4]
jl 0x447235
cmp dword [ebp - 8], 0
jne 0x446407
cmp ebx, dword [ebp - 0xc]
jb 0x447924
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.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x447262
jmp 0x447924
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 0x447331
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 0x4472a0
mov dword [ebp - 8], 1
xor ecx, ecx
mov dword [ebp - 0x10], ecx
inc edi
jmp 0x44732a
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x4472ce
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 0x447331
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 0x4472a0
movzx eax, byte [edi]
sub eax, 0x33
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45829c]
movsx eax, byte [eax + 0x4582a4]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x447331
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 0x447924
test ecx, ecx
jle 0x447539
mov eax, dword [ebp - 0x14]
add eax, 0xfffffffb
cmp eax, 0xa
ja case.0x447dfb.13
jmp dword [eax*4 + 0x447fe6]
test byte [ebp + 0x18], 4
jne case.0x44735e.12
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447539
cmp dword [esi + 0x18], 0
je 0x4473a3
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x4473cb
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.0044876a
add esp, 0x10
test eax, eax
jne 0x447924
mov ecx, dword [ebp - 0x10]
jmp 0x4473cb
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x54]
sub edx, eax
cmp ebx, edx
ja 0x4473cb
mov dl, byte [ebx]
cmp dl, byte [esi + 0x20]
jne 0x4473cb
cmp eax, 1
je 0x447924
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x447924
inc ebx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447379
jmp 0x447539
add ebx, ecx
jmp 0x447539
cmp ecx, 1
mov dword [ebp + 0x14], 1
jl 0x447539
cmp ebx, edx
jae 0x447924
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x447924
cmp eax, 0xc
jle 0x447426
cmp eax, 0xd
je 0x44741c
cmp eax, 0x85
jne 0x447924
jmp 0x447426
cmp ebx, edx
jae 0x447426
cmp byte [ebx], 0xa
jne 0x447426
inc ebx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4473f0
jmp 0x447539
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447539
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
jne 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447444
jmp 0x447539
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447539
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
je 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x447474
jmp 0x447539
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447539
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
jne 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4474a4
jmp 0x447539
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447539
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
je 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4474cd
jmp 0x447539
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447539
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
jne 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x4474f6
jmp 0x447539
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x447539
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
je 0x447924
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x44751f
mov edx, dword [ebp - 4]
cmp ecx, edx
je 0x446407
cmp dword [ebp - 0xc], 0
jne 0x447d73
mov eax, dword [ebp - 0x14]
add eax, 0xfffffffb
cmp eax, 0xa
mov dword [ebp - 0xc], ebx
ja case.0x447dfb.13
jmp dword [eax*4 + 0x448012]
test byte [ebp + 0x18], 4
jne case.0x447560.12
cmp ecx, edx
mov dword [ebp + 0x14], ecx
jge 0x447709
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x447709
cmp dword [esi + 0x18], 0
je 0x4475a3
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.0044876a
add esp, 0x10
test eax, eax
jne 0x447709
jmp 0x4475c8
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x4475c8
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x4475c8
cmp ecx, 1
je 0x447709
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x447709
inc ebx
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x447578
jmp 0x447709
mov eax, dword [esi + 0x54]
sub edx, ecx
mov ecx, edx
sub eax, ebx
cmp ecx, eax
jbe 0x4475e8
mov ecx, eax
add ebx, ecx
jmp 0x447709
cmp ecx, edx
jge 0x447709
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x447709
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x44761a
inc ebx
cmp ebx, edx
jae 0x447709
cmp byte [ebx], 0xa
jne 0x447635
jmp 0x447634
cmp eax, 0xa
je 0x447634
cmp eax, 0xb
je 0x447634
cmp eax, 0xc
je 0x447634
cmp eax, 0x85
jne 0x447709
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4475fa
jmp 0x447709
cmp ecx, edx
jge 0x447709
cmp ebx, dword [esi + 0x54]
jae 0x447709
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
jne 0x447709
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447648
jmp 0x447709
cmp ecx, edx
jge 0x447709
cmp ebx, dword [esi + 0x54]
jae 0x447709
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
je 0x447709
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447675
jmp 0x447709
cmp ecx, edx
jge 0x447709
cmp ebx, dword [esi + 0x54]
jae 0x447709
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
jne 0x447709
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x447697
jmp 0x447709
cmp ecx, edx
jge 0x447709
cmp ebx, dword [esi + 0x54]
jae 0x447709
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
je 0x447709
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4476b5
jmp 0x447709
cmp ecx, edx
jge 0x447709
cmp ebx, dword [esi + 0x54]
jae 0x447709
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
jne 0x447709
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4476d3
jmp 0x447709
cmp ecx, edx
jge 0x447709
cmp ebx, dword [esi + 0x54]
jae 0x447709
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x447709
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4476f1
cmp dword [ebp - 8], 0
jne 0x446407
cmp ebx, dword [ebp - 0xc]
jb 0x447924
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.0044639e
add esp, 0x20
dec ebx
test eax, eax
jne 0x447e92
cmp ebx, dword [ebp - 0xc]
jae 0x447723
jmp 0x447924
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
lea edi, [edi + eax + 3]
jmp 0x447767
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x44775d
jmp 0x4464ef
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 0x44786f
cmp ecx, 0x5b
mov dword [ebp + 0x20], 2
jge 0x4477d0
mov dword [ebp + 0x20], edx
jmp 0x4477d0
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 + 0x4585c0]
push dword [ebp + 0x18]
add eax, edi
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
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 0x447798
movzx eax, byte [edi]
movzx eax, byte [eax + 0x4585c0]
add edi, eax
or dword [ebp + 0x20], 4
jmp 0x44784d
xor eax, eax
or eax, 4
mov dword [ebp + 0x20], eax
jmp 0x44784d
push 2
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
mov edi, dword [ebp - 0x14]
jmp 0x447846
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.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
add edi, 3
mov dword [ebp + 0x20], 4
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x4463be
inc dword [esi]
push 0xfffffffffffffff8
jmp 0x447e91
push 0xffffffffffffffeb
jmp 0x447e91
push 0xffffffffffffffea
jmp 0x447e91
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 0x4478b1
mov dword [ebp + 0x20], 2
jmp 0x4478b5
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 + 0x4585c0]
push dword [ebp + 0x1c]
add eax, edi
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
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 0x4478bc
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 0x447e92
cmp dword [esi + 0x40], edx
je 0x447935
cmp ebx, dword [esi + 0x58]
je 0x447924
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], eax
xor eax, eax
inc eax
jmp 0x447e92
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 0x44795f
mov dword [ebp - 0x30], edx
jmp 0x44796a
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 0x447992
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x24], ecx
jmp 0x4479ae
shl eax, 2
push eax
call dword [0x461148]
test eax, eax
pop ecx
mov dword [ebp - 0x24], eax
jne 0x4479ab
push 0xfffffffffffffffa
jmp 0x447e91
mov eax, dword [ebp - 0x20]
shl eax, 2
push eax
push dword [esi + 0xc]
push dword [ebp - 0x24]
call fcn.00449ac0
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 + 0x4585c0]
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.0044639e
add esp, 0x20
cmp eax, 1
je 0x447a65
test eax, eax
jne 0x447e92
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.00449ac0
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 0x4479de
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0x24], eax
je 0x447924
push dword [ebp - 0x24]
call dword [0x46114c]
pop ecx
jmp 0x447924
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0x24], eax
je 0x44793e
push dword [ebp - 0x24]
call dword [0x46114c]
pop ecx
jmp 0x44793e
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x447924
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00446340
test eax, eax
pop ecx
pop ecx
je 0x447924
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.0044639e
add esp, 0x20
test eax, eax
je 0x447a89
jmp 0x447e92
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x14], ecx
jge 0x447b11
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00446340
test eax, eax
pop ecx
pop ecx
je 0x447b08
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x447ae3
cmp ebx, dword [ebp - 0xc]
jb 0x447924
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.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
sub ebx, dword [ebp - 0x18]
cmp ebx, dword [ebp - 0xc]
jae 0x447b18
jmp 0x447924
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x447924
cmp ebx, dword [esi + 0x54]
jae 0x447924
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 0x447924
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.0044639e
add esp, 0x20
test eax, eax
je 0x447b46
jmp 0x447e92
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
jge 0x447bdb
cmp ebx, dword [esi + 0x54]
jae 0x447bd2
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 0x447bd2
inc ebx
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x447ba7
cmp ebx, dword [ebp - 0xc]
jb 0x447924
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.0044639e
add esp, 0x20
test eax, eax
jne 0x447e92
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x447be2
jmp 0x447924
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447c4a
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x447924
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x447924
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.0044639e
add esp, 0x20
test eax, eax
je 0x447c1b
jmp 0x447e92
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447c9e
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x447924
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x447924
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.0044639e
add esp, 0x20
test eax, eax
je 0x447c76
jmp 0x447e92
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447cf9
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x447924
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x447924
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.0044639e
add esp, 0x20
test eax, eax
je 0x447cca
jmp 0x447e92
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447d4d
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x447924
cmp ebx, dword [esi + 0x54]
jae 0x447924
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x447924
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.0044639e
add esp, 0x20
test eax, eax
je 0x447d25
jmp 0x447e92
push 0xfffffffffffffff2
jmp 0x447e91
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 0x447e6f
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x447924
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x447924
test byte [ebp + 0x18], 4
jne 0x447de8
cmp dword [esi + 0x18], 0
je 0x447dc3
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.0044876a
add esp, 0x10
test eax, eax
jne 0x447924
jmp 0x447de8
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x447de8
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x447de8
cmp ecx, 1
je 0x447924
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x447924
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ebx]
add ecx, 0xfffffffb
inc ebx
cmp ecx, 0xa
ja case.0x447dfb.13
jmp dword [ecx*4 + 0x44803e]
cmp eax, 0xa
jb 0x447924
cmp eax, 0xc
jbe case.0x447dfb.11
cmp eax, 0xd
je 0x447e1c
cmp eax, 0x85
jmp 0x447e30
cmp ebx, dword [esi + 0x54]
jae case.0x447dfb.11
cmp byte [ebx], 0xa
jne case.0x447dfb.11
inc ebx
jmp case.0x447dfb.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jne 0x447924
jmp case.0x447dfb.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x447e63
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x447e30
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x447e63
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x447e30
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x447924
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.0044639e
add esp, 0x20
test eax, eax
je 0x447d86
jmp 0x447e92
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret