Function at 0x4446a7
Capabilities:
Terminate process

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x40
push esi
mov esi, ecx
xor ecx, ecx
and dword [ebp - 0x18], ecx
mov dword [ebp - 8], ecx
push edi
test esi, esi
je 0x444e67
xor edx, edx
inc edx
mov edi, dword [esi + 0x140]
xor eax, eax
and dword [ebp - 0x10], 0
and dword [ebp - 0x14], 0
and dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], eax
cmp dword [edi + 0x14], eax
jne 0x444707
mov ecx, edi
mov eax, dword [ecx + 0xc]
mov edi, ecx
cmp eax, dword [ecx]
jne 0x444704
cmp ecx, esi
jbe 0x444704
lea eax, [ecx - 0x20]
mov dword [esi + 0x140], eax
call fcn.00443d04
mov edi, dword [esi + 0x140]
mov ecx, edi
cmp dword [edi + 0x14], 0
je 0x4446db
xor edx, edx
inc edx
cmp dword [edi + 0x14], 0
jne 0x4448c2
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xc], ecx
cmp ecx, dword [edi]
je 0x444e37
cmp dword [edi + 8], 0
je 0x444767
mov eax, ecx
mov dword [ebp - 0xc], ecx
and ecx, 0x1f
mov dword [ebp - 0x20], eax
shl edx, cl
mov ecx, dword [edi + 8]
shr eax, 5
test dword [ecx + eax*4], edx
je 0x444764
mov eax, dword [ebp - 0x20]
inc eax
mov dword [edi + 0xc], eax
mov ecx, dword [ebp - 8]
xor edx, edx
inc edx
cmp dword [ebp - 0x18], 0
je 0x4446be
test ecx, ecx
je 0x444e67
mov eax, dword [ecx + 0x10]
jmp 0x444e6a
mov ecx, dword [ebp - 0xc]
mov eax, dword [edi + 4]
test eax, eax
je 0x444e62
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1c], eax
lea eax, [ecx + 1]
mov dword [edi + 0xc], eax
mov edi, dword [ebp - 0x1c]
test edi, edi
je 0x444e62
cmp dword [esi + 0x154], 0
jne 0x44492e
cmp byte [edi], 0x2d
jne 0x44492e
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4447a4
sub ecx, edx
lea eax, [ecx + 1]
call fcn.004ac340
mov edx, esp
mov ecx, edi
mov eax, edx
mov dword [ebp - 0x20], edx
sub eax, edi
mov dword [ebp - 0x34], eax
mov edi, eax
mov al, byte [ecx]
mov byte [edi + ecx], al
inc ecx
test al, al
jne 0x4447c5
mov edi, dword [ebp - 0x1c]
cmp byte [edx], al
je 0x444e62
lea eax, [edx + 1]
mov cl, byte [eax]
mov byte [ebp - 1], cl
cmp cl, 0x2d
jne 0x4447fe
cmp byte [edx + 2], 0
jne 0x4447fe
xor edx, edx
inc edx
mov dword [esi + 0x154], edx
mov ecx, dword [ebp - 8]
jmp 0x44474a
xor edx, edx
cmp cl, 0x2d
push 0
cmovne eax, dword [ebp - 0x20]
setne dl
inc eax
mov dword [ebp - 0x34], edx
push 0
mov edx, eax
mov dword [ebp - 0x1c], eax
mov ecx, esi
call fcn.00443f88
pop ecx
pop ecx
test eax, eax
jne 0x444744
mov edx, dword [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00443e05
pop ecx
test eax, eax
jne 0x444744
mov edx, dword [ebp - 0x1c]
mov ecx, edx
jmp 0x444848
cmp al, 0x3d
je 0x444852
inc ecx
mov al, byte [ecx]
test al, al
jne 0x444843
cmp al, 0x3d
jne 0x444860
mov byte [ecx], 0
lea eax, [edi + 1]
sub ecx, dword [ebp - 0x20]
add eax, ecx
mov dword [ebp - 0x24], eax
push dword [ebp - 0x34]
mov ecx, dword [esi + 0x150]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
call fcn.004442c7
mov edx, eax
add esp, 0x10
mov dword [ebp - 8], edx
test edx, edx
jne 0x4448a0
cmp byte [ebp - 1], 0x2d
je 0x444e62
test edx, edx
jne 0x4448a0
mov eax, dword [esi + 0x140]
lea ecx, [edi + 1]
mov dword [eax + 0x14], ecx
jmp 0x4448c5
cmp dword [esi + 0x140], esi
jne 0x4448c5
test dword [edx + 8], 0x20000000
je 0x4448c5
mov edx, dword [ebp - 0xc]
mov ecx, esi
mov dword [ebp - 0x2c], 1
call fcn.004445f7
mov edx, dword [ebp - 8]
mov ecx, dword [esi + 0x140]
and dword [ebp - 0x1c], 0
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x4449ac
and dword [ecx + 0x14], 0
lea edi, [eax + 1]
movzx eax, byte [eax]
xor edx, edx
push edi
push eax
mov ecx, esi
call fcn.00443f88
pop ecx
xor edx, edx
pop ecx
test eax, eax
jne 0x444e1b
mov eax, dword [ebp - 0x20]
mov ecx, esi
movzx eax, byte [eax]
push eax
call fcn.00443e05
xor edx, edx
pop ecx
test eax, eax
je 0x44496b
mov ecx, dword [ebp - 8]
inc edx
cmp byte [edi], 0
je 0x44474a
mov eax, dword [esi + 0x140]
mov dword [eax + 0x14], edi
jmp 0x44474a
mov eax, dword [esi + 0x164]
xor edx, edx
inc edx
test al, 4
je 0x444941
mov dword [esi + 0x154], edx
test al, 0x10
jne 0x444e23
mov ecx, dword [esi + 0x144]
test ecx, ecx
je 0x4447f6
mov eax, dword [esi + 0x148]
mov dword [ecx + eax*4], edi
inc dword [esi + 0x148]
jmp 0x4447f6
mov ecx, dword [esi + 0x150]
lea eax, [ebp - 0x14]
push 0
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
push eax
call fcn.004442c7
mov edx, eax
add esp, 0x10
mov dword [ebp - 8], edx
test edx, edx
je 0x444e62
cmp byte [edi], 0
mov dword [ebp - 0x1c], 1
je 0x4449ac
mov eax, dword [esi + 0x140]
mov dword [eax + 0x14], edi
test edx, edx
je 0x444e62
mov ecx, dword [edx + 0xc]
lea edi, [edx + 8]
test ecx, ecx
je 0x4449cb
mov eax, dword [edi]
movzx eax, ax
test eax, eax
jne 0x4449cb
push 1
jmp 0x4449e3
mov eax, dword [edi]
movzx eax, ax
mov dword [ebp - 0xc], edi
cmp eax, 7
jne 0x4449ea
test ecx, ecx
je 0x444ca1
push dword [edx + 0x10]
mov edx, dword [edi]
jmp 0x444c6d
test eax, eax
je 0x444ca1
mov ecx, dword [esi + 0x140]
mov ecx, dword [ecx + 0x10]
call fcn.00443a5b
mov ecx, dword [esi + 0x140]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x444a17
mov edx, eax
jmp 0x444ac0
mov ecx, dword [esi + 0x140]
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x444a43
mov ecx, esi
call fcn.004444fe
mov ecx, dword [esi + 0x140]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x140]
and dword [eax + 0x14], 0
jmp 0x444ad0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx]
jne 0x444a6f
mov edx, ecx
mov ecx, edx
cmp edx, esi
jbe 0x444a6f
lea eax, [edx - 0x20]
mov dword [esi + 0x140], eax
call fcn.00443d04
mov ecx, dword [esi + 0x140]
mov edx, ecx
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx]
je 0x444a4c
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xc]
cmp edx, dword [ecx]
jne 0x444a8b
test dword [eax], 0x10000000
je 0x444e56
and dword [ecx + 0x10], 0
jmp 0x444ad3
mov edi, ecx
cmp ecx, esi
jne 0x444aaf
test dword [eax], 0x20000000
je 0x444aaf
cmp dword [ebp - 0x2c], 0
je 0x444aaf
mov ecx, esi
call fcn.004445f7
mov edi, dword [esi + 0x140]
mov eax, dword [ebp - 0xc]
mov edx, dword [edi + 4]
test edx, edx
je 0x444ad3
mov eax, dword [edi + 0xc]
mov edx, dword [edx + eax*4]
inc eax
mov dword [edi + 0xc], eax
mov ecx, esi
call fcn.004444fe
mov ecx, dword [esi + 0x140]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov edi, eax
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x444ca1
mov edi, dword [ebp - 0xc]
mov eax, dword [edi]
and eax, 0xffff
cmp eax, 1
je 0x444c80
xor ecx, ecx
inc ecx
cmp eax, ecx
jbe 0x444e76
cmp eax, 3
jbe 0x444c05
cmp eax, 7
jbe 0x444e76
cmp eax, 9
ja 0x444e76
mov eax, dword [esi + 0x140]
xorps xmm1, xmm1
cmp dword [eax + 0x10], 0
je 0x444b80
call fcn.004cce86
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
call fcn.004cce86
and dword [eax], 0
lea eax, [ebp - 0x38]
push eax
mov eax, dword [esi + 0x140]
push dword [eax + 0x10]
call fcn.004d04c5
pop ecx
pop ecx
fstp qword [ebp - 0x30]
call fcn.004cce86
cmp dword [eax], 0x22
je 0x444e5e
call fcn.004cce86
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp - 0x38]
cmp byte [eax], 0
jne 0x444e5a
movsd xmm1, qword [ebp - 0x30]
mov edx, dword [ebp - 8]
cmp word [edi], 9
jne 0x444b92
mov eax, dword [edx + 0xc]
movsd qword [eax], xmm1
jmp 0x444ca1
movsd xmm4, qword [0x5da0e8]
movaps xmm3, xmm1
subsd xmm3, qword [0x5da0d0]
movaps xmm0, xmm1
comisd xmm4, xmm3
jbe 0x444bba
xorps xmm0, xmmword [0x5da2b0]
movaps xmm2, xmm0
jmp 0x444bc4
movaps xmm2, xmm1
xorps xmm2, xmmword [0x5da2b0]
subsd xmm0, qword [0x5da1e0]
comisd xmm0, xmm4
ja 0x444e5e
comisd xmm4, xmm3
ja 0x444bdf
movaps xmm2, xmm1
movsd xmm0, qword [0x5da0d8]
subsd xmm0, xmm2
comisd xmm0, xmm4
ja 0x444e5e
mov eax, dword [edx + 0xc]
cvtpd2ps xmm0, xmm1
movss dword [eax], xmm0
jmp 0x444ca1
mov eax, dword [esi + 0x140]
xor ecx, ecx
cmp dword [eax + 0x10], ecx
je 0x444c38
push ecx
lea ecx, [ebp - 0x3c]
push ecx
push dword [eax + 0x10]
call fcn.004d8e0a
mov ecx, eax
add esp, 0xc
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x444e5a
cmp byte [eax], 0
jne 0x444e5a
mov edx, dword [edi]
cmp dx, 3
jne 0x444c66
cmp ecx, 0x80000000
je 0x444e5e
cmp ecx, 0x7fffffff
je 0x444e5e
push ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0xc]
call fcn.00444639
jmp 0x444c72
push ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0xc]
call fcn.00444639
add esp, 4
test eax, eax
je 0x444ca1
push 0xffffffffffffffed
jmp 0x444e64
mov eax, dword [esi + 0x140]
cmp dword [eax + 0x10], 0
je 0x444c9d
push dword [eax + 0x10]
call fcn.004df0a6
pop ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0xc]
jmp 0x444c9f
xor eax, eax
mov dword [ecx], eax
cmp dword [ebp - 0x10], 0
je 0x444cc2
push dword [ebp - 0x1c]
mov edx, dword [esi + 0x150]
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 8]
call fcn.00443b1a
add esp, 0xc
jmp 0x444cdb
mov eax, dword [ebp - 8]
cmp dword [eax + 0x10], 0
je 0x444cdb
mov ecx, dword [ebp - 0x18]
cmp word [edi], 7
push 1
pop eax
cmovne ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [esi + 0x174]
mov ecx, dword [esi + 0x178]
add eax, 2
cmp eax, ecx
jl 0x444d0e
lea eax, [ecx + 0xa]
mov dword [esi + 0x178], eax
shl eax, 2
push eax
push dword [esi + 0x170]
call fcn.004d5df3
pop ecx
pop ecx
mov dword [esi + 0x170], eax
cmp dword [esi + 0x170], 0
je 0x444daf
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
test ecx, ecx
je 0x444d32
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x444d27
sub ecx, edx
jmp 0x444d34
xor ecx, ecx
lea eax, [ecx + 3]
push eax
call fcn.004d89a5
mov edx, eax
mov dword [ebp - 0x34], edx
pop ecx
test edx, edx
je 0x444d99
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
test ecx, ecx
je 0x444d72
cmp dword [edi], 0
mov eax, 0x5c2a64
push ecx
mov ecx, 0x5d1f0c
cmovge ecx, eax
push ecx
push str._s_s
push edx
call fcn.0041309c
add esp, 0x10
jmp 0x444d85
movsx eax, byte [eax + 4]
push eax
push 0x5d1edc
push edx
call fcn.0041309c
add esp, 0xc
mov ecx, dword [esi + 0x174]
mov eax, dword [esi + 0x170]
mov edx, dword [ebp - 0x34]
mov dword [eax + ecx*4], edx
jmp 0x444da9
mov ecx, dword [esi + 0x174]
mov eax, dword [esi + 0x170]
and dword [eax + ecx*4], 0
inc dword [esi + 0x174]
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0xc], 0
je 0x444dc3
movzx eax, word [edi]
test eax, eax
je 0x444747
mov eax, dword [edi]
and eax, 0xffff
cmp eax, 7
je 0x444747
test eax, eax
je 0x444747
cmp dword [esi + 0x170], 0
je 0x444747
mov eax, dword [esi + 0x140]
cmp dword [eax + 0x10], 0
je 0x444747
push dword [eax + 0x10]
call fcn.004df0a6
mov edx, dword [esi + 0x174]
pop ecx
mov ecx, dword [esi + 0x170]
mov dword [ecx + edx*4], eax
inc dword [esi + 0x174]
jmp 0x444744
mov ecx, dword [ebp - 8]
jmp 0x444749
push edi
call fcn.004df0a6
pop ecx
mov ecx, dword [esi + 0x140]
mov dword [ecx + 0x10], eax
xor eax, eax
jmp 0x444e6a
mov edx, dword [esi + 0x150]
mov ecx, esi
call fcn.00443abf
cmp dword [esi + 0x17c], 0
je 0x444e67
mov ecx, esi
call fcn.00444123
jmp 0x444e6a
push 0xfffffffffffffff6
jmp 0x444e64
push 0xffffffffffffffef
jmp 0x444e64
push 0xffffffffffffffee
jmp 0x444e64
push 0xfffffffffffffff5
pop eax
jmp 0x444e6a
or eax, 0xffffffff
lea esp, [ebp - 0x48]
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push str.option_type___d__not_implemented_in_popt_n
push ecx
call fcn.004d4c5a
pop ecx
push eax
call fcn.00413024
add esp, 0xc
xor eax, eax
inc eax
push eax
call fcn.004d8cd2
int3