Function at 0x445bc8
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 0x447082
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x24]
inc dword [esi]
cmp eax, dword [esi + 8]
jae 0x44708b
test byte [ebp + 0x20], 2
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
je 0x445c31
test byte [ebp + 0x20], 4
je 0x445c23
mov ecx, dword [esi + 0x70]
cmp ecx, 0x3e8
jge 0x447092
mov eax, dword [esi + 0x6c]
lea eax, [eax + ecx*8]
inc ecx
mov dword [esi + 0x70], ecx
jmp 0x445c26
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 0x445c55
cmp ebx, dword [esi + 0x54]
jb 0x445c55
cmp ebx, dword [esi + 0x58]
jbe 0x445c55
mov dword [esi + 0x48], 1
cmp ecx, 0x62
ja case.0x445c65.13
movzx eax, byte [ecx + 0x4477ac]
jmp dword [eax*4 + 0x4476c4]
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x5f
jne 0x445ca0
mov eax, dword [esi + 0x74]
xor ecx, ecx
cmp eax, edx
mov ch, byte [edi + 4]
mov cl, byte [edi + 5]
je 0x445c92
cmp ecx, 0xffff
je 0x445cbc
cmp ecx, dword [eax + 4]
je 0x445cbc
xor ecx, ecx
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x445d0c
cmp cl, 0x5e
jne 0x445cc4
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
add eax, eax
cmp eax, dword [ebp + 0x10]
jge 0x445c92
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], edx
jl 0x445c92
xor ecx, ecx
push 3
inc ecx
pop eax
jmp 0x445c9c
cmp cl, 0x60
jne 0x445cd5
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
jmp 0x445d10
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.00445bc8
add esp, 0x20
cmp eax, 1
je 0x446f79
test eax, eax
jne 0x4476bc
mov ah, byte [edi + 1]
xor ecx, ecx
mov al, byte [edi + 2]
add edi, eax
xor edx, edx
cmp ecx, edx
jne 0x445d19
cmp byte [edi], 0x4e
jne 0x445e2a
add edi, 3
cmp dword [ebp + 0x14], 0x5d
jne 0x44701a
push 2
pop eax
jmp 0x44701c
mov edi, dword [esi + 0x74]
cmp edi, edx
je 0x447155
cmp dword [edi + 4], edx
jne 0x447155
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.00449bb0
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 0x445c31
movzx eax, byte [edi + 1]
mov dword [ebp + 0x18], eax
inc edi
inc edi
jmp 0x445c31
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.00445bc8
add esp, 0x20
cmp eax, 1
je 0x445db5
test eax, eax
jne 0x4476bc
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x445c65.82
cmp byte [edi], 0x4f
je 0x44714e
test byte [ebp + 0x20], 1
jne 0x447168
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x445dc8
mov eax, dword [esi + 0x60]
add edi, 3
mov dword [ebp + 0x10], eax
jmp 0x445c31
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.00445bc8
add esp, 0x20
cmp eax, 1
je 0x44714e
test eax, eax
jne 0x4476bc
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x445c65.83
test byte [ebp + 0x20], 1
jne 0x447168
add edi, 3
jmp 0x445c31
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
sub ebx, eax
cmp ebx, dword [esi + 0x50]
jb 0x44714e
jmp 0x445e2a
cmp dword [0x4633e0], edx
je 0x445ec6
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 [0x4633e0]
test eax, eax
pop ecx
jg 0x44714e
jl 0x4476bc
add edi, 6
jmp 0x445c31
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.00445bc8
add esp, 0x20
cmp eax, 1
je 0x445f0c
test eax, eax
jne 0x4476bc
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x445ed4
mov al, byte [edi]
cmp al, 0x57
je 0x445f1a
cmp al, 0x4e
jne 0x44714e
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x445f1a
cmp byte [edi], 0x4f
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov dword [ebp + 0x10], eax
je 0x445e2a
cmp ebx, dword [ebp - 0x10]
je 0x445e2a
lea eax, [edi + 3]
cmp byte [eax], 0x13
mov dword [ebp - 0x14], eax
jne 0x445f5e
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 0x447024
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp - 0x14]
push ebx
call fcn.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
mov edi, dword [ebp + 0x14]
jmp 0x447070
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je case.0x445c65.78
jmp 0x445c31
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.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x445fcc
jmp 0x445e2a
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 0x445fe3
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.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
jmp 0x445c31
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 0x446046
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 0x44604a
and dword [ebp - 0x10], 0
cmp cl, 0x52
je 0x44715f
cmp cl, 0x53
je 0x44715f
cmp cl, 0x54
je 0x44715f
cmp cl, 0x55
je 0x44715f
cmp cl, 0x57
je 0x44715f
cmp cl, 0x59
je 0x446085
cmp cl, 0x5c
jne 0x446112
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 0x4460a4
mov dword [esi + 0x2c], 1
jmp 0x4460d6
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 0x4460d3
add eax, 2
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 0x74]
test ecx, ecx
je 0x446112
cmp dword [ecx + 4], edx
jne 0x446112
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.004492f0
mov eax, dword [ebp - 0x1c]
mov edi, dword [edi + 8]
add esp, 0xc
mov dword [ebp + 0x18], eax
jmp 0x445c31
cmp byte [edi], 0x4f
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0x18], ecx
je 0x445e2a
cmp ebx, dword [ebp - 0x10]
je 0x445e2a
cmp byte [eax], 0x5b
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
cmp byte [edi], 0x51
mov dword [ebp + 0x20], eax
jne 0x447049
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.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
mov edi, dword [ebp + 0x14]
jmp 0x447014
cmp dword [esi + 0x30], edx
je 0x44617a
cmp ebx, dword [esi + 0x50]
je 0x44714e
test byte [ebp + 0x18], 2
je case.0x445c65.1
mov ecx, dword [esi + 0x50]
cmp ebx, ecx
je 0x4461e4
cmp ebx, dword [esi + 0x54]
je 0x44714e
cmp dword [esi + 0x18], edx
je 0x4461b7
cmp ebx, ecx
jbe 0x44714e
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push ebx
call fcn.00448006
add esp, 0x10
test eax, eax
je 0x44714e
jmp 0x4461e4
mov eax, dword [esi + 0x1c]
add ecx, eax
cmp ebx, ecx
jb 0x44714e
mov ecx, ebx
sub ecx, eax
mov dl, byte [ecx]
cmp dl, byte [esi + 0x20]
jne 0x44714e
cmp eax, 1
je 0x4461e4
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x21]
jne 0x44714e
inc edi
jmp 0x445c31
cmp ebx, dword [esi + 0x50]
jmp 0x4461de
mov eax, dword [esi + 0x68]
add eax, dword [esi + 0x50]
cmp ebx, eax
jmp 0x4461de
test byte [ebp + 0x18], 2
je 0x446241
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44623c
cmp dword [esi + 0x18], edx
je 0x44621a
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00447f94
jmp 0x4461aa
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x44714e
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x44714e
cmp ecx, 1
je 0x4461e4
mov al, byte [ebx + 1]
jmp 0x4461db
cmp dword [esi + 0x34], edx
jmp 0x4461de
cmp dword [esi + 0x34], edx
jne 0x44714e
cmp dword [esi + 0x3c], edx
jne case.0x445c65.18
mov eax, dword [esi + 0x54]
cmp ebx, eax
je 0x4461e4
cmp dword [esi + 0x18], edx
je 0x44627d
cmp ebx, eax
jae 0x44714e
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00447f94
add esp, 0x10
test eax, eax
je 0x44714e
jmp 0x4462a6
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x44714e
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x44714e
cmp ecx, 1
je 0x4462a6
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
jne 0x44714e
mov eax, dword [esi + 0x54]
sub eax, dword [esi + 0x1c]
jmp 0x4461f5
cmp ebx, dword [esi + 0x54]
jb 0x44714e
jmp 0x4461e4
cmp ebx, dword [esi + 0x50]
je 0x4462d6
movzx eax, byte [ebx - 1]
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x4462d6
xor ecx, ecx
inc ecx
jmp 0x4462d8
xor ecx, ecx
cmp ebx, dword [esi + 0x54]
jae 0x4462f0
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x4462ee
xor eax, eax
inc eax
jmp 0x4462f2
xor edx, edx
xor eax, eax
mov dl, byte [edi]
inc edi
cmp dl, 4
jne 0x446303
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x44630a
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x445c31
jmp 0x44714e
test byte [ebp + 0x18], 4
jne case.0x445c65.12
cmp dword [esi + 0x18], edx
je 0x446345
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae case.0x445c65.12
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00447f94
add esp, 0x10
test eax, eax
jne 0x44714e
jmp case.0x445c65.12
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x54]
sub ecx, eax
cmp ebx, ecx
ja case.0x445c65.12
mov cl, byte [ebx]
cmp cl, byte [esi + 0x20]
jne case.0x445c65.12
cmp eax, 1
je 0x44714e
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x44714e
mov eax, ebx
inc ebx
cmp eax, dword [esi + 0x54]
jae 0x44714e
jmp 0x4461e4
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x4461de
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 4
jmp 0x4461af
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x4461de
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 1
jmp 0x4461af
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x4461de
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x28]
inc ebx
test byte [eax + ecx], 0x10
jmp 0x4461af
mov ecx, dword [esi + 0x54]
cmp ebx, ecx
jae 0x44714e
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb 0x44714e
cmp eax, 0xc
jbe 0x4461e4
cmp eax, 0xd
je 0x446460
cmp eax, 0x85
je 0x4461e4
cmp eax, 0x2027
jbe 0x44714e
cmp eax, 0x2029
ja 0x44714e
jmp 0x4461e4
cmp ebx, ecx
jae 0x4461e4
cmp byte [ebx], 0xa
jne 0x4461e4
inc ebx
jmp 0x4461e4
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 0x44649f
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
cmp ecx, edx
jl 0x44649f
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x4464a5
mov edx, dword [esi + 0x54]
sub edx, ebx
inc edx
mov al, byte [edi]
cmp al, 0x40
mov dword [ebp - 0x18], edx
jb 0x446580
cmp al, 0x45
jbe 0x4464ee
cmp al, 0x47
ja 0x446580
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 0x4464e9
mov dword [ebp - 4], connect
add edi, 5
jmp 0x44651c
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45828c]
movsx eax, byte [eax + 0x458294]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x44651c
mov dword [ebp - 4], connect
test edx, edx
je 0x445c31
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x44655a
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00445b6a
test eax, eax
pop ecx
pop ecx
je 0x44714e
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 0x10]
jle 0x44652e
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 4]
je 0x445c31
cmp dword [ebp - 0xc], 0
je 0x447302
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 0x4472e3
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00445b6a
test eax, eax
pop ecx
pop ecx
je 0x44714e
add ebx, dword [ebp - 0x18]
jmp 0x445c31
lea eax, [edi + 1]
add edi, 0x21
mov dword [ebp - 0x14], eax
mov al, byte [edi]
cmp al, 0x40
jb 0x44661a
cmp al, 0x45
jbe 0x4465ea
cmp al, 0x47
ja 0x44661a
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 0x4465e5
mov dword [ebp - 4], connect
add edi, 5
jmp 0x446623
movzx eax, al
sub eax, 0x40
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45828c]
movsx eax, byte [eax + 0x458294]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x446623
mov dword [ebp - 4], connect
jmp 0x446623
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 0x446660
cmp ebx, dword [esi + 0x54]
jae 0x44714e
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 0x44714e
inc dword [ebp + 0x14]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + 0x14], ecx
jle 0x44662d
cmp ecx, dword [ebp - 4]
je 0x445c31
cmp dword [ebp - 0xc], 0
mov dword [ebp + 0x14], ecx
je 0x4473c9
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp - 8], eax
push eax
jmp 0x4473aa
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, 1
jl 0x44714e
mov al, byte [ebx]
inc ebx
cmp byte [edi + 1], al
jne 0x44714e
jmp 0x445d77
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp eax, 1
jl 0x44714e
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 0x446697
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
add edi, 3
jmp 0x446741
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 0x4466ce
mov dword [ebp - 8], 1
xor ecx, ecx
inc edi
jmp 0x44673a
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x4466fd
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
inc edi
jmp 0x446741
movzx eax, byte [edi]
sub eax, 0x19
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45828c]
movsx eax, byte [eax + 0x458294]
inc edi
test eax, eax
mov dword [ebp - 4], eax
jne 0x446741
mov dword [ebp - 4], connect
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg 0x44714e
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x18], 1
mov dword [ebp - 0x10], edx
je 0x446808
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 0x44678f
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446773
cmp ecx, dword [ebp - 4]
je 0x445c31
cmp dword [ebp - 0xc], 0
jne 0x447438
mov dword [ebp - 0xc], ebx
jmp 0x4467bd
cmp ebx, dword [esi + 0x54]
jae 0x4467c2
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x10], eax
jne 0x4467c2
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4467a7
cmp dword [ebp - 8], 0
jne 0x445c31
cmp ebx, dword [ebp - 0xc]
jb 0x44714e
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.00445bc8
add esp, 0x20
dec ebx
test eax, eax
jne 0x4476bc
cmp ebx, dword [ebp - 0xc]
jae 0x4467dc
jmp 0x44714e
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446826
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
jne 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446812
cmp ecx, dword [ebp - 4]
je 0x445c31
cmp dword [ebp - 0xc], 0
jne 0x447493
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov eax, ecx
jge 0x446856
cmp ebx, dword [esi + 0x54]
jae 0x446856
movzx ecx, byte [ebx]
cmp edx, ecx
jne 0x446856
inc ebx
inc eax
cmp eax, dword [ebp - 4]
jl 0x446843
cmp dword [ebp - 8], 0
jne 0x445c31
cmp ebx, dword [ebp - 0xc]
jb 0x44714e
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.00445bc8
add esp, 0x20
dec ebx
test eax, eax
jne 0x4476bc
cmp ebx, dword [ebp - 0xc]
jae 0x446870
jmp 0x44714e
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx ecx, byte [ebx]
inc edi
inc ebx
test byte [ebp + 0x18], 1
je 0x4468c8
mov eax, dword [esi + 0x24]
movzx edx, byte [edi]
mov cl, byte [ecx + eax]
inc edi
cmp byte [edx + eax], cl
jne 0x445c31
jmp 0x44714e
movzx eax, byte [edi]
inc edi
cmp eax, ecx
jmp 0x4468bd
xor ecx, ecx
mov ch, byte [edi + 1]
mov cl, byte [edi + 2]
mov dword [ebp - 4], ecx
add edi, 3
jmp 0x44695d
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 0x4468db
mov dword [ebp - 8], 1
xor ecx, ecx
inc edi
jmp 0x446956
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x446903
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
inc edi
jmp 0x44695d
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 0x4468db
movzx eax, byte [edi]
sub eax, 0x26
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45828c]
movsx eax, byte [eax + 0x458294]
inc edi
test eax, eax
mov dword [ebp - 4], eax
jne 0x44695d
mov dword [ebp - 4], connect
mov eax, dword [esi + 0x54]
sub eax, ebx
cmp ecx, eax
jg 0x44714e
movzx edx, byte [edi]
inc edi
test byte [ebp + 0x18], 1
mov dword [ebp - 0x10], edx
je 0x446a24
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 0x4469ab
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x44698f
cmp ecx, dword [ebp - 4]
je 0x445c31
cmp dword [ebp - 0xc], 0
jne 0x4474e7
mov dword [ebp - 0xc], ebx
jmp 0x4469d9
cmp ebx, dword [esi + 0x54]
jae 0x4469de
movzx edx, byte [ebx]
mov eax, dword [esi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [ebp - 0x10], eax
je 0x4469de
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4469c3
cmp dword [ebp - 8], 0
jne 0x445c31
cmp ebx, dword [ebp - 0xc]
jb 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x4469f8
jmp 0x44714e
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446a42
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
je 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446a2e
cmp ecx, dword [ebp - 4]
je 0x445c31
cmp dword [ebp - 0xc], 0
jne 0x447542
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov eax, ecx
jge 0x446a72
cmp ebx, dword [esi + 0x54]
jae 0x446a72
movzx ecx, byte [ebx]
cmp edx, ecx
je 0x446a72
inc ebx
inc eax
cmp eax, dword [ebp - 4]
jl 0x446a5f
cmp dword [ebp - 8], 0
jne 0x445c31
cmp ebx, dword [ebp - 0xc]
jb 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x446a8c
jmp 0x44714e
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 0x446b5b
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 0x446aca
mov dword [ebp - 8], 1
xor ecx, ecx
mov dword [ebp - 0x10], ecx
inc edi
jmp 0x446b54
xor ecx, ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x446af8
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 0x446b5b
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 0x446aca
movzx eax, byte [edi]
sub eax, 0x33
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x45828c]
movsx eax, byte [eax + 0x458294]
inc edi
test eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
jne 0x446b5b
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 0x44714e
test ecx, ecx
jle 0x446d63
mov eax, dword [ebp - 0x14]
add eax, 0xfffffffb
cmp eax, 0xa
ja case.0x447625.13
jmp dword [eax*4 + 0x447810]
test byte [ebp + 0x18], 4
jne case.0x446b88.12
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446d63
cmp dword [esi + 0x18], 0
je 0x446bcd
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x446bf5
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00447f94
add esp, 0x10
test eax, eax
jne 0x44714e
mov ecx, dword [ebp - 0x10]
jmp 0x446bf5
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x54]
sub edx, eax
cmp ebx, edx
ja 0x446bf5
mov dl, byte [ebx]
cmp dl, byte [esi + 0x20]
jne 0x446bf5
cmp eax, 1
je 0x44714e
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x44714e
inc ebx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446ba3
jmp 0x446d63
add ebx, ecx
jmp 0x446d63
cmp ecx, 1
mov dword [ebp + 0x14], 1
jl 0x446d63
cmp ebx, edx
jae 0x44714e
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x44714e
cmp eax, 0xc
jle 0x446c50
cmp eax, 0xd
je 0x446c46
cmp eax, 0x85
jne 0x44714e
jmp 0x446c50
cmp ebx, edx
jae 0x446c50
cmp byte [ebx], 0xa
jne 0x446c50
inc ebx
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446c1a
jmp 0x446d63
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446d63
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
jne 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446c6e
jmp 0x446d63
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446d63
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 4
inc ebx
test dl, dl
je 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446c9e
jmp 0x446d63
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446d63
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
jne 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446cce
jmp 0x446d63
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446d63
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 1
inc ebx
test dl, dl
je 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446cf7
jmp 0x446d63
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446d63
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
jne 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446d20
jmp 0x446d63
xor eax, eax
inc eax
cmp ecx, eax
mov dword [ebp + 0x14], eax
jl 0x446d63
mov eax, dword [esi + 0x28]
movzx edx, byte [ebx]
mov dl, byte [edx + eax]
and dl, 0x10
inc ebx
test dl, dl
je 0x44714e
inc dword [ebp + 0x14]
cmp dword [ebp + 0x14], ecx
jle 0x446d49
mov edx, dword [ebp - 4]
cmp ecx, edx
je 0x445c31
cmp dword [ebp - 0xc], 0
jne 0x44759d
mov eax, dword [ebp - 0x14]
add eax, 0xfffffffb
cmp eax, 0xa
mov dword [ebp - 0xc], ebx
ja case.0x447625.13
jmp dword [eax*4 + 0x44783c]
test byte [ebp + 0x18], 4
jne case.0x446d8a.12
cmp ecx, edx
mov dword [ebp + 0x14], ecx
jge 0x446f33
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x446f33
cmp dword [esi + 0x18], 0
je 0x446dcd
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00447f94
add esp, 0x10
test eax, eax
jne 0x446f33
jmp 0x446df2
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x446df2
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x446df2
cmp ecx, 1
je 0x446f33
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x446f33
inc ebx
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x446da2
jmp 0x446f33
mov eax, dword [esi + 0x54]
sub edx, ecx
mov ecx, edx
sub eax, ebx
cmp ecx, eax
jbe 0x446e12
mov ecx, eax
add ebx, ecx
jmp 0x446f33
cmp ecx, edx
jge 0x446f33
mov edx, dword [esi + 0x54]
cmp ebx, edx
jae 0x446f33
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x446e44
inc ebx
cmp ebx, edx
jae 0x446f33
cmp byte [ebx], 0xa
jne 0x446e5f
jmp 0x446e5e
cmp eax, 0xa
je 0x446e5e
cmp eax, 0xb
je 0x446e5e
cmp eax, 0xc
je 0x446e5e
cmp eax, 0x85
jne 0x446f33
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x446e24
jmp 0x446f33
cmp ecx, edx
jge 0x446f33
cmp ebx, dword [esi + 0x54]
jae 0x446f33
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
jne 0x446f33
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x446e72
jmp 0x446f33
cmp ecx, edx
jge 0x446f33
cmp ebx, dword [esi + 0x54]
jae 0x446f33
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 4
je 0x446f33
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x446e9f
jmp 0x446f33
cmp ecx, edx
jge 0x446f33
cmp ebx, dword [esi + 0x54]
jae 0x446f33
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
jne 0x446f33
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x446ec1
jmp 0x446f33
cmp ecx, edx
jge 0x446f33
cmp ebx, dword [esi + 0x54]
jae 0x446f33
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 1
je 0x446f33
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x446edf
jmp 0x446f33
cmp ecx, edx
jge 0x446f33
cmp ebx, dword [esi + 0x54]
jae 0x446f33
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
jne 0x446f33
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x446efd
jmp 0x446f33
cmp ecx, edx
jge 0x446f33
cmp ebx, dword [esi + 0x54]
jae 0x446f33
movzx eax, byte [ebx]
mov edx, dword [esi + 0x28]
test byte [eax + edx], 0x10
je 0x446f33
inc ebx
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x446f1b
cmp dword [ebp - 8], 0
jne 0x445c31
cmp ebx, dword [ebp - 0xc]
jb 0x44714e
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.00445bc8
add esp, 0x20
dec ebx
test eax, eax
jne 0x4476bc
cmp ebx, dword [ebp - 0xc]
jae 0x446f4d
jmp 0x44714e
xor eax, eax
mov ah, byte [edi + 4]
mov al, byte [edi + 5]
lea edi, [edi + eax + 3]
jmp 0x446f91
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
add edi, eax
cmp byte [edi], 0x4e
je 0x446f87
jmp 0x445d19
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 0x447099
cmp ecx, 0x5b
mov dword [ebp + 0x20], 2
jge 0x446ffa
mov dword [ebp + 0x20], edx
jmp 0x446ffa
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 + 0x4585b0]
push dword [ebp + 0x18]
add eax, edi
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
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 0x446fc2
movzx eax, byte [edi]
movzx eax, byte [eax + 0x4585b0]
add edi, eax
or dword [ebp + 0x20], 4
jmp 0x447077
xor eax, eax
or eax, 4
mov dword [ebp + 0x20], eax
jmp 0x447077
push 2
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push ebx
call fcn.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
mov edi, dword [ebp - 0x14]
jmp 0x447070
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.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
add edi, 3
mov dword [ebp + 0x20], 4
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x445be8
inc dword [esi]
push 0xfffffffffffffff8
jmp 0x4476bb
push 0xffffffffffffffeb
jmp 0x4476bb
push 0xffffffffffffffea
jmp 0x4476bb
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 0x4470db
mov dword [ebp + 0x20], 2
jmp 0x4470df
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 + 0x4585b0]
push dword [ebp + 0x1c]
add eax, edi
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push eax
push ebx
call fcn.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
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 0x4470e6
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 0x4476bc
cmp dword [esi + 0x40], edx
je 0x44715f
cmp ebx, dword [esi + 0x58]
je 0x44714e
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], eax
xor eax, eax
inc eax
jmp 0x4476bc
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 0x447189
mov dword [ebp - 0x30], edx
jmp 0x447194
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 0x4471bc
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x24], ecx
jmp 0x4471d8
shl eax, 2
push eax
call dword [0x461148]
test eax, eax
pop ecx
mov dword [ebp - 0x24], eax
jne 0x4471d5
push 0xfffffffffffffffa
jmp 0x4476bb
mov eax, dword [ebp - 0x20]
shl eax, 2
push eax
push dword [esi + 0xc]
push dword [ebp - 0x24]
call fcn.004492f0
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 + 0x4585b0]
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.00445bc8
add esp, 0x20
cmp eax, 1
je 0x44728f
test eax, eax
jne 0x4476bc
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.004492f0
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 0x447208
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0x24], eax
je 0x44714e
push dword [ebp - 0x24]
call dword [0x46114c]
pop ecx
jmp 0x44714e
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x74], eax
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0x24], eax
je 0x447168
push dword [ebp - 0x24]
call dword [0x46114c]
pop ecx
jmp 0x447168
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x44714e
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00445b6a
test eax, eax
pop ecx
pop ecx
je 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
je 0x4472b3
jmp 0x4476bc
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x14], ecx
jge 0x44733b
push dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push ebx
mov ecx, esi
call fcn.00445b6a
test eax, eax
pop ecx
pop ecx
je 0x447332
add ebx, dword [ebp - 0x18]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x44730d
cmp ebx, dword [ebp - 0xc]
jb 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
sub ebx, dword [ebp - 0x18]
cmp ebx, dword [ebp - 0xc]
jae 0x447342
jmp 0x44714e
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x44714e
cmp ebx, dword [esi + 0x54]
jae 0x44714e
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 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
je 0x447370
jmp 0x4476bc
cmp ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
jge 0x447405
cmp ebx, dword [esi + 0x54]
jae 0x4473fc
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 0x4473fc
inc ebx
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp - 4]
jl 0x4473d1
cmp ebx, dword [ebp - 0xc]
jb 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
jne 0x4476bc
dec ebx
cmp ebx, dword [ebp - 0xc]
jae 0x44740c
jmp 0x44714e
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447474
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x44714e
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
je 0x447445
jmp 0x4476bc
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x4474c8
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x44714e
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
jne 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
je 0x4474a0
jmp 0x4476bc
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447523
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x44714e
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
je 0x4474f4
jmp 0x4476bc
mov eax, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x14], ecx
mov dword [ebp - 8], eax
push eax
jmp 0x447577
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x44714e
cmp ebx, dword [esi + 0x54]
jae 0x44714e
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x10], eax
je 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
je 0x44754f
jmp 0x4476bc
push 0xfffffffffffffff2
jmp 0x4476bb
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 0x447699
mov eax, dword [ebp - 4]
cmp dword [ebp + 0x14], eax
jge 0x44714e
mov eax, dword [esi + 0x54]
cmp ebx, eax
jae 0x44714e
test byte [ebp + 0x18], 4
jne 0x447612
cmp dword [esi + 0x18], 0
je 0x4475ed
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push ebx
call fcn.00447f94
add esp, 0x10
test eax, eax
jne 0x44714e
jmp 0x447612
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x447612
mov al, byte [ebx]
cmp al, byte [esi + 0x20]
jne 0x447612
cmp ecx, 1
je 0x44714e
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x21]
je 0x44714e
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ebx]
add ecx, 0xfffffffb
inc ebx
cmp ecx, 0xa
ja case.0x447625.13
jmp dword [ecx*4 + 0x447868]
cmp eax, 0xa
jb 0x44714e
cmp eax, 0xc
jbe case.0x447625.11
cmp eax, 0xd
je 0x447646
cmp eax, 0x85
jmp 0x44765a
cmp ebx, dword [esi + 0x54]
jae case.0x447625.11
cmp byte [ebx], 0xa
jne case.0x447625.11
inc ebx
jmp case.0x447625.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jne 0x44714e
jmp case.0x447625.11
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 4
jmp 0x44768d
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x44765a
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 1
jmp 0x44768d
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
jmp 0x44765a
mov ecx, dword [esi + 0x28]
test byte [eax + ecx], 0x10
je 0x44714e
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.00445bc8
add esp, 0x20
test eax, eax
je 0x4475b0
jmp 0x4476bc
push 0xfffffffffffffffb
pop eax
pop edi
pop esi
pop ebx
leave
ret